猿问

Java将字符串转换为BigDecimal

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

  • BigDecimal数字将有两位十进制数字,所以我必须以这种方式形成它

  • 原始字符串可以使用逗号(“,”)作为小数点分隔符(这是我更大的问题,因为如果我编写BigDecimal num = new BigDecimal(rowCell);并且rowCell以逗号作为小数点分隔符,我将采取例外措施...)

你可以帮帮我吗?先感谢您


守着星空守着你
浏览 595回答 2
2回答

慕运维8079593

您需要按以下步骤进行操作:用,点代替逗号.BigDecimal从这个新字符串中获取一个用ROUND_DOWN或将其四舍五入到小数点后两位ROUND_UPString str = "123,456";                   // String 132,456str = str.replace(',', '.');              // String 132.456BigDecimal b = new BigDecimal(str);       // BigDec 132.456b = b.setScale(2, BigDecimal.ROUND_DOWN); // BigDec 132.45如果您拥有,那么您可以:String str = "123,456";                  BigDecimal b = new BigDecimal(str.replace(',', '.')).setScale(2, BigDecimal.ROUND_DOWN);   

倚天杖

只需用点替换逗号即可。它既简单又快速。BigDecimal num = new BigDecimal(rowCell.replace(',', '.'));
随时随地看视频慕课网APP

相关分类

Java
我要回答