Java BigDecimal from String without decimal places 但 asume 最后两位数字为 decimal

标签 java string type-conversion bigdecimal

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/

相关文章:

java - Eclipse 在远程 Debug模式下不突出显示当前行

c - 如何在 C 中将 unsigned int 值打印为时间字符串

c - 以下表达式中发生了什么转换?

java - matlab - 如何从返回 long 的 Java 方法中获取 int64?

java - CDI 注入(inject)不明确的依赖关系 "pick any, i don' t care"

java流过滤器不显示输出

java - JNDI 查找失败(Spring、JBoss)

java - 使用 StringTokenizer 计算字符数

java - String.Split - 意外行为

java - 如何从在 java 中找到第一个字符的反向拆分字符串?