Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取表示BigDecimal的刻度中的数字列表_Java - Fatal编程技术网

Java 如何获取表示BigDecimal的刻度中的数字列表

Java 如何获取表示BigDecimal的刻度中的数字列表,java,Java,我有3个BigDecimal对象9.1,9.12,9.123,我希望得到刻度中的位数,对于上面的小数,它是1,2和3。我怎么得到这个 我应该先得到音阶,然后再做String.length,还是有更简单的方法 BigDecimal bd = new BigDecimal("1.2"); bd.scale();//this will return 1 BigDecimal bd = new BigDecimal("1.23"); bd.scale();//this will return 2 B

我有3个BigDecimal对象9.1,9.12,9.123,我希望得到刻度中的位数,对于上面的小数,它是1,2和3。我怎么得到这个

我应该先得到音阶,然后再做String.length,还是有更简单的方法

BigDecimal bd = new BigDecimal("1.2");
bd.scale();//this will return 1

BigDecimal bd = new BigDecimal("1.23");
bd.scale();//this will return 2

BigDecimal bd = new BigDecimal("1.234");
bd.scale();//this will return 3
另见

另见


你也可以用这种方法找到它

    public static int scale(BigDecimal bd){
           int length = bd.toString().length();
           int longValueLength = Long.toString(bd.longValue()).length();
           int scale =  length - longValueLength - 1;
           return scale;

    }

    public static void main(String[] args) throws IOException {

           BigDecimal bd1 = new BigDecimal("9.123");
           BigDecimal bd2 = new BigDecimal("9.12233");

           System.out.println(scale(bd1)); // 3
           System.out.println(scale(bd2)); // 5
     }

你也可以用这种方法找到它

    public static int scale(BigDecimal bd){
           int length = bd.toString().length();
           int longValueLength = Long.toString(bd.longValue()).length();
           int scale =  length - longValueLength - 1;
           return scale;

    }

    public static void main(String[] args) throws IOException {

           BigDecimal bd1 = new BigDecimal("9.123");
           BigDecimal bd2 = new BigDecimal("9.12233");

           System.out.println(scale(bd1)); // 3
           System.out.println(scale(bd2)); // 5
     }

大学教师;你不喜欢我的答案吗?@org.life.java你的答案绝对正确,比我的好得多。我只是想展示一些不同的东西;你不喜欢我的答案吗?@org.life.java你的答案绝对正确,比我的好得多。我只是想展示一些不同的东西