gpt4 book ai didi

javascript - 从 webelement 读取字符串并将其转换为小数

转载 作者:行者123 更新时间:2023-11-28 17:51:39 25 4
gpt4 key购买 nike

有一种情况是我从网络元素读取货币,它是一个字符串。需要将其转换为数字格式以进行某些损益计算。

尝试了以下代码

public class NumberFormat {

public static void main(String[] args) {
//String str = "$9.9967";
String str1 = "€12,32123";
String str2 = "€3.452,35";
str1 = str1.replace(",", ".").replace(".", "").replaceAll("[^0-9.]", "");
str2 = str2.replace(",", ".").replace(".", "").replaceAll("[^0-9.]", "");
double str1Ch = Double.parseDouble(str1);
double str2Ch = Double.parseDouble(str2);
System.out.println(str1Ch);
System.out.println(str2Ch);
}

}

实际结果:

1232123.0
345235.0

预期结果:

12.32123
3452.35

我没有得到我所期望的结果,我需要同时执行两个转换(点到空/空,逗号到点)

需要知道代码不起作用的原因以及读取不同国家货币并将其转换为数字格式的任何建议。

最佳答案

其中一个选项可以是创建您自己的 NumberFormat (此处基于 DecimalFormat )。您可以使用DecimalFormatSymbols设置其小数分隔符或分组分隔符。

演示:

DecimalFormat df = new DecimalFormat("€#,###.#");
DecimalFormatSymbols dfSymbols = new DecimalFormatSymbols();
dfSymbols.setDecimalSeparator(',');
dfSymbols.setGroupingSeparator('.');
df.setDecimalFormatSymbols(dfSymbols);

String str1 = "€12,32123";
String str2 = "€3.452,35";
double str1Ch = df.parse(str1).doubleValue();
double str2Ch = df.parse(str2).doubleValue();

System.out.println(str1Ch);//12.32123
System.out.println(str2Ch);//3452.35

关于javascript - 从 webelement 读取字符串并将其转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404717/

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