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