public static Integer getNumberOfDecimalPlace(Double value) {
final BigDecimal bigDecimal = new BigDecimal("" + value);
final String str = bigDecimal.toPlainString();
final int index = str.indexOf('.');
if (index < 0) {
return 0;
}
return str.length() - 1 - index;
}
测试:
public static void main(String[] args) {
Integer numberOfDecimalPlace = getNumberOfDecimalPlace(5.33333d);
System.out.println(numberOfDecimalPlace);
}
public static Integer getNumberOfDecimalPlace(Double value) {
final BigDecimal bigDecimal = new BigDecimal("" + value);
final String str = bigDecimal.toPlainString();
final int index = str.indexOf('.');
if (index < 0) {
return 0;
}
return str.length() - 1 - index;
}
输出结果
如果输入值是整数, 会默认添加一位小数