應用場景: 對逗號格式的兩位小數點數字進行解析和轉換。
public void calculateTest(){ BigDecimal number1 = transfer2BigDecimal("1,111,111,111.11"); BigDecimal number2 = transfer2BigDecimal("1,111,111,111.11"); BigDecimal sumNumber = number1.add(number2); System.out.println(sumNumber); //2222222222.22 //轉換爲逗號格式的數字 DecimalFormat df = new DecimalFormat("#,###.00"); String strSumNumber = df.format(sumNumber); System.out.println(strSumNumber); //2,222,222,222.22 } //解析逗號格式的數字 private BigDecimal transfer2BigDecimal(String str) { DecimalFormat format = new DecimalFormat(); try { Number number = format.parse(str); DecimalFormat dfFormat = new DecimalFormat("#.##"); String strNumber= dfFormat.format(number); BigDecimal resultNumber = new BigDecimal(strNumber); return resultNumber; } catch (ParseException e) { return null; } }
BigDecimal 去除小數位
String value = ""; double numValue = Double.valueOf(value); //保留6位小數,並四捨五入 BigDecimal decimal = new BigDecimal(String.valueOf(value)).setScale(6, BigDecimal.ROUND_HALF_UP); //去除小數點後最後的0 value = decimal.stripTrailingZeros().toPlainString(); System.out.println(cellValue);