双精度中的十进制位数 [已关闭]
我如何确定整数位数和小数点后的数字位数,就像在Java中一样。234.12413
替身并不总是一个精确的表示。您只能说如果将其转换为字符串,您将拥有多少个小数位。
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