java精度計算程式碼 java指定精確小數位

java精度計算程式碼 java指定精確小數位

本文例項為大家分享了java指定精確小數位的具體程式碼,供大家參考,具體內容如下

java程式碼:


public class App2 {
public static void main(String[] args) {
String val = checkNumber("10.1234155", 2, 6).toString();
System.out.println(val);
}
public static BigDecimal checkNumber(String number, int min, int max) {
// 初始化為max位小數
DecimalFormat df = new DecimalFormat(getMaxStr(max));
String num = df.format(Double.parseDouble(number));
BigDecimal bd = new BigDecimal(num);
String val = bd.toString();
val = val.replaceAll("^(0 )", "");
val = val.replaceAll("(0 )$", "");
int idx = val.indexOf(".");
int len = val.substring(idx   1).length();
if (len < min) {
if (len == 0 && idx == 0) {
bd = new BigDecimal("0.00");
} else {
bd = new BigDecimal(val).setScale(2);
}
} else {
bd = new BigDecimal(val).setScale(len);
}
return bd;
}
public static String getMaxStr(int max) {
String val = "0.";
for (int i = 0; i < max; i  ) {
val  = "0";
}
return val;
}
}

控制檯: