我必须将String
(从excel单元读取)转换为BigDecimal
,但我必须考虑:
BigDecimal
数字将包含两位十进制数字,所以我必须以这种方式形成BigDecimal num = new BigDecimal(rowCell);
并且rowCell以逗号作为小数点分隔符,我会例外...)< / li>
你能帮我吗? 预先谢谢你
答案 0 :(得分:1)
您需要分步进行:
,
代替逗号.
BigDecimal
ROUND_DOWN
或ROUND_UP
将其舍入到小数点后两位小数String str = "123,456"; // String 132,456
str = str.replace(',', '.'); // String 132.456
BigDecimal b = new BigDecimal(str); // BigDec 132.456
b = b.setScale(2, BigDecimal.ROUND_DOWN); // BigDec 132.45
如果您拥有,那么您可以:
String str = "123,456";
BigDecimal b = new BigDecimal(str.replace(',', '.')).setScale(2, BigDecimal.ROUND_DOWN);
答案 1 :(得分:0)
只需用点替换逗号。它足够简单和快速。
BigDecimal num = new BigDecimal(rowCell.replace(',', '.'));