需求:
动态设置Double类型数据的小数位数,并且不进行四舍五入操作
输入:数据 ----> 8.888888 保留小数位数----> 4
输出:8.8888
代码实现:
public static Double varFormat(String data, int length) {
//设置需要保留的小数位数
StringBuilder sb = new StringBuilder("#.");
for (int i = 0; i < length; i++) {
sb.append("#");
}
DecimalFormat handle = new DecimalFormat(sb.toString());
//设置规则:不进行四舍五入,只截取对应的小数位
handle.setRoundingMode(RoundingMode.DOWN);
//类型转换
double value = Double.parseDouble(data);
return Double.valueOf(handle.format(value));
}
数据测试:
输入:数据----> 9.9999 保留小数位数:2
输出:9.99