gpt4 book ai didi

java - 如何在使用 parseDouble 函数时将大于 "999"的值存储在 double 中?

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:59 25 4
gpt4 key购买 nike

使用 parseDouble 函数时,我无法存储大于“999”的值。这是我的代码:

NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMinimumFractionDigits(2);
formatter.setMaximumFractionDigits(2);

double amount = Double.parseDouble(formatter.format(Double.parseDouble(balanceAmt.getText().toString())));

它只存储最大“999”的值,不大于该值。它不允许我存储“1000”或更大的值。

错误消息:

java.lang.NumberFormatException: For input string: "123,456.78"

最佳答案

默认方法 NumberFormat.format(String) 在将其设置为格式化文本时会自动添加逗号分隔千位。该逗号无法解析为 double 据类型,因为它只接受“.”作为十进制分割字符及其周围的数字。

通过这个测试可以看出:

double amount = Double.parseDouble(formatter.format(Double.parseDouble("1000")).replace(",", ""));

如果数字需要逗号,则在将其解析为 double 时使用 .replace() 方法替换它。否则,请为您的数字格式化程序使用自定义实例化,例如:

NumberFormat formatter = new DecimalFormat("0000.00");

关于java - 如何在使用 parseDouble 函数时将大于 "999"的值存储在 double 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com