繁体   English   中英

如何检查浮点精度

[英]How to check the precision of Float

我有这样的Float

Float f = Float.valueOf("9.222333999444555666");
System.out.println(f);  //prints 9.222334

有没有一种方法可以计算后的位数. 不使用正则表达式进行签名: f.toString().split("\\\\.")[1].length()吗?

只需将值转换为String并获得小数点的位置。

String s = "" + f;
int i = s.indexOf(".")
System.out.println("The number of digits after the decimal point are " + s.length()-i-1 

编辑:阅读OP的评论和有关如何舍入浮点数的疑问。 在这里回答该问题:将Float格式化为n个小数位

为了快速参考,请使用:String.format(“%。2f”,f)。 您必须了解Java的Float和Double没有小数点后的用于操纵精度的方法和属性。 Java这样做的原因有很多,但是您应该记住的是将Float和Double转换为String,然后根据需要对其进行操作,然后再转换回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM