double中的小数位数

时间:2011-06-07 11:35:24

标签: java double

我需要Java中234.12413之类的数字中的整数位数和小数点后的位数。

4 个答案:

答案 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)获取此子串的长度

相关问题