Java 将字符串转换为 BigDecimal

Java Convert String into BigDecimal

我必须将 String(从 excel 单元格读取)转换为 BigDecimal,但我必须考虑:

你能帮帮我吗? 提前谢谢你

只需将逗号替换为点即可。简单又快速。

BigDecimal num = new BigDecimal(rowCell.replace(',', '.'));

您需要按步骤进行:

  • 将逗号 , 替换为点 .
  • 从这个新字符串中得到一个 BigDecimal
  • ROUND_DOWNROUND_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);   

Working DEMO