String TotalAmount= "";
可以說我有總金額= 10
,或10.1
或10.11
或10.11111
安卓的BigDecimal始終顯示數量最多2位小數
BigDecimal Amount = new BigDecimal(amount);
我想Amount
在這種模式#.##
10 -> 10.00
10.1 -> 10.10
10.11 -> 10.11
10.11111 -> 10.11
String TotalAmount= "";
可以說我有總金額= 10
,或10.1
或10.11
或10.11111
安卓的BigDecimal始終顯示數量最多2位小數
BigDecimal Amount = new BigDecimal(amount);
我想Amount
在這種模式#.##
10 -> 10.00
10.1 -> 10.10
10.11 -> 10.11
10.11111 -> 10.11
解決它自己
BigDecimal TotalAmount= new BigDecimal(myAmount);
BigDecimal Amount = TotalAmount.divide(new BigDecimal(1),2, RoundingMode.HALF_UP);
您可以嘗試java.text.NumberFormat,
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
String res = nf.format(Amount);
System.out.println(res);
您可以使用DecimalFormat(類似的NumberFormat但BigDecimal的工作)
收到錯誤12-26 19:57:02.357:E/AndroidRuntime(15870):FATAL EXCEPTION:main 12-26 19:57:02.357:E/AndroidRuntime(15870):java.lang.IllegalArgumentException 12-26 19:57:02.357:E/AndroidRuntime(15870):\t位於java.text.NumberFormat。格式(NumberFormat.java:313) 12-26 19:57:02.357:E/AndroidRuntime(15870):\t位於java.text.DecimalFormat.format(DecimalFormat.java:732) 12-26 19:57:02.357:E/AndroidRuntime(15870):\t位於java.text.Format.format(Format.java:133) – Androider
金額應該是BigDecimal不字符串 –
現在您的代碼正在工作,但問題是BigDecimal沒有顯示「.00」部分,這使問題未解決 – Androider