A 有一个字符串:“1234567” 我想将此 String 传输到具有以下格式的 BigDecimal: 12345.67 --> 最后两位数字应视为小数位。
是否有任何方法,或者我是否必须使用像这样的资源消耗方式:
String numberUnformated = 1234567;
BigDecimal number = new BigDecimal(amount.substring(0,amount.length()-2)+"."+amount.substring(amount.length()-2))
谢谢
最佳答案
你可以使用
BigDecimal number = new BigDecimal("1234567") .movePointLeft(2):
不要按照建议使用 double ,因为您肯定会失去精度,而使用 BigDecimal 则不会。这在处理货币时很重要。
关于Java BigDecimal from String without decimal places 但 asume 最后两位数字为 decimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38979907/