我有Float
喜欢这个:
Float f = Float.valueOf("9.222333999444555666");
System.out.println(f); //prints 9.222334
有没有办法计算.
符号之后的数字而不使用正则表达式:f.toString().split("\\.")[1].length()
?
答案 0 :(得分:2)
只需将值转换为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的评论并怀疑如何完成浮动。这个问题在这里得到解答:Format Float to n decimal places
为了快速参考,请使用:String.format("%。2f",f)。您必须了解Java的Float和Double没有用于在小数点后操纵精度的方法和属性。 Java有几个原因可以做到这一点,但你应该记住的是将Float和Double转换为String,然后根据需要操作它们然后转换回来。