双精度中的十进制位数 [已关闭]

2022-09-01 03:36:58

我如何确定整数位数和小数点后的数字位数,就像在Java中一样。234.12413


答案 1

替身并不总是一个精确的表示。您只能说如果将其转换为字符串,您将拥有多少个小数位。

double d= 234.12413;
String text = Double.toString(Math.abs(d));
int integerPlaces = text.indexOf('.');
int decimalPlaces = text.length() - integerPlaces - 1;

这仅适用于未转换为指数表示法的数字。您可以考虑 1.0 有一位或没有小数位。


答案 2
Double d = 234.12413;
String[] splitter = d.toString().split("\\.");
splitter[0].length();   // Before Decimal Count
splitter[1].length();   // After  Decimal Count

推荐