为了账号安全,请及时绑定邮箱和手机立即绑定

Java将字符串转换为BigDecimal

Java将字符串转换为BigDecimal

守着星空守着你 2021-04-09 18:15:58
我必须将String(从excel单元读取)转换为BigDecimal,但是我必须考虑:该BigDecimal数字将有两位十进制数字,所以我必须以这种方式形成它原始字符串可以使用逗号(“,”)作为小数点分隔符(这是我更大的问题,因为如果我编写BigDecimal num = new BigDecimal(rowCell);并且rowCell以逗号作为小数点分隔符,我将采取例外措施...)你可以帮帮我吗?先感谢您
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您需要按以下步骤进行操作:

  • ,点代替逗号.

  • 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);   


查看完整回答
反对 回复 2021-04-18
?
倚天杖

TA贡献1828条经验 获得超3个赞

只需用点替换逗号即可。它既简单又快速。

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


查看完整回答
反对 回复 2021-04-18
  • 2 回答
  • 0 关注
  • 592 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信