JAVA-去掉小数点后面多余的0,保留小数不足补0, 使用BigDecimal
stripTrailingZeros():去除小数部分末尾的零
@Test
public void TestCompare() {
// JAVA中Float类型的小数超过4位(前面都是0,例如0.0001)会转成科学计数法存储
float f = 0.0001F;
// 转BigDecimal的时候避免精度丢失,先转成String类型
String fStr = Float.toString(f);
System.out.println(fStr);
// 使用stripTrailingZeros()方法去掉小数后面多余的0
// toPlainString()是不用科学计数法表示,如1000 new BigDecimal(fStr).stripTrailingZeros().toString()就是10三次方
String s3 = new BigDecimal(fStr).stripTrailingZeros().toPlainString();
System.out.println(s3);
// 普通字符串去掉后面的0
String s4 = "123.5400";
System.out.println(new BigDecimal(s4).stripTrailingZeros().toPlainString());
}
执行结果

toPlainString():
这个方法会返回一个不使用科学计数法的字符串表示形式。
例如,new BigDecimal("123456789.123456789") 调用 toPlainString() 后会返回 "123456789.123456789",而不是科学计数法形式的 "1.23456789123456789E8"。
保留小数位数,不足补0
String s = "123.5400";
System.out.println(new BigDecimal(s).setScale(6, BigDecimal.ROUND_HALF_UP));
执行结果:
123.540000
偶做前堂客
祝你天天开心
在未知的时间
在未知的地点

浙公网安备 33010602011771号