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
偶做前堂客
祝你天天开心
在未知的时间
在未知的地点
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 我与微信审核的“相爱相杀”看个人小程序副业
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库