Java 如何获取表示BigDecimal的刻度中的数字列表
我有3个BigDecimal对象9.1,9.12,9.123,我希望得到刻度中的位数,对于上面的小数,它是1,2和3。我怎么得到这个 我应该先得到音阶,然后再做String.length,还是有更简单的方法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
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你的答案绝对正确,比我的好得多。我只是想展示一些不同的东西