例如 0.29*94.00000000
網上說 用BigDecimal 然後我用了
BigDecimal(d1).multiply(BigDecimal(d2)).setScale(decimalPoint, BigDecimal.ROUND_DOWN)
.toPlainString()
計算結果 27.25999999 我是精確 8位的
這樣 的結果很坑 因爲實際結果是 27.26000000
後來 找了 半天 遇到一種寫法
System.out.println("aa======"+ BigDecimal(0.29.toString()).multiply(BigDecimal(94.00000000.toString())).setScale(8, BigDecimal.ROUND_DOWN))
2020-07-07 18:34:11.016 10387-10387/com.mochain.bqmex.debug I/System.out: aa======27.26000000
通過字符串的方式 傳入BigDecimal似乎解決了問題