双精度小数位数
我需要Java中234.12413
类的数字中的整数位数和小数点后的位数。
双精神并不总是精确的表示。 您只能说将它转换为String时会有多少小数位。
double d= 234.12413; String text = Double.toString(Math.abs(d)); int integerPlaces = text.indexOf('.'); int decimalPlaces = text.length() - integerPlaces - 1;
这仅适用于未转换为指数表示法的数字。 您可能会认为1.0有一个或没有小数位。
Double d = 234.12413; String[] splitter = d.toString().split("\\."); splitter[0].length(); // Before Decimal Count splitter[1].length(); // After Decimal Count
String s = "" + 234.12413; String[] result = s.split("\\."); System.out.println(result[0].length() + " " + result[1].length());
1)转换为字符串
2)来自’。’的子串。 结束
3)获取此子字符串的长度