Java从字符串获取数字或货币格式
我有一个包含XML的代码,它被解析并将所有值作为字符串处理。其中一些字符串是具有货币或%或数字格式的度量值。如何从字符串中获取此格式,然后在以后重新应用它。当数字转换为双精度时,格式将被删除Java从字符串获取数字或货币格式,java,numbers,number-formatting,Java,Numbers,Number Formatting,我有一个包含XML的代码,它被解析并将所有值作为字符串处理。其中一些字符串是具有货币或%或数字格式的度量值。如何从字符串中获取此格式,然后在以后重新应用它。当数字转换为双精度时,格式将被删除 <p><val>$4500.30</val><val>45.0%</val></p> //parse out String metric1 = "$4500.30"; String metric2 = "45.0%"; //r
<p><val>$4500.30</val><val>45.0%</val></p>
//parse out
String metric1 = "$4500.30";
String metric2 = "45.0%";
//remove special char
metric1 = metric1.replaceAll("[^A-Za-z0-9.]", "");
//I need to reapply formatting after it is removed(such as $)
$4500.3045.0%
//解析出
字符串metric1=“$4500.30”;
字符串度量2=“45.0%”;
//删除特殊字符
metric1=metric1.replaceAll(“^A-Za-z0-9.]”,即“);
//删除格式后,我需要重新应用格式(例如$)
我意识到这是一个糟糕的方法。由于这些值存储为字符串,所以我只是保留了格式,并使用了字符串的另一个副本,该副本后来被转换为double 您还可以使用NumberFormats的预定义实例,以便能够在每次需要时解析和格式化值。最好将值同时作为普通值和格式化值。您可以添加一个示例吗?