gpt4 book ai didi

java - 将带逗号的字符串值转换为具有正确区域设置的十进制

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

我正在尝试从十进制字符串值创建 Double 对象,其中逗号是 float 分隔符。

将语言环境参数传递给虚拟机:

-Duser.country=BR
-Duser.language=PT


String value = "500,21";
Double dob = new Double(value);

获取异常:

java.lang.NumberFormatException: For input string: "500,21" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224) at java.lang.Double.valueOf(Double.java:475) at java.lang.Double.(Double.java:567)

最佳答案

您可以尝试使用本地化的NumberFormat:

String value = "500,21";
// replace the hard-coded Locale definition with your arguments, or
// Locale.getDefault(), etc.
NumberFormat nf = NumberFormat.getInstance(new Locale("pt", "BR"));
try {
Double d = nf.parse(value).doubleValue();
System.out.println(d);
}
catch (ParseException pe) {
// TODO
}

输出

500.21

关于java - 将带逗号的字符串值转换为具有正确区域设置的十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545025/

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