从格式化字符串转换为double,反之亦然

时间:2014-11-03 15:10:53

标签: java string double currency

我需要将格式化的字符串转换为double,反之亦然。

$ 40.00将是40.00(反之亦然)

$ 80,000.00将为80000.00(反之亦然)

到目前为止,我可以通过取出美元符号和逗号来格式化字符串,但我无法将double转换回格式化字符串,并在正确的位置使用美元符号和逗号。

2 个答案:

答案 0 :(得分:2)

如果我了解你,你可以使用DecimalFormat之类的

来做到这一点
public static void main(String[] args) {
    NumberFormat nf = new DecimalFormat("$#,###.00");
    String[] arr = { "$40.00", "$80,000.00" };
    for (String str : arr) {
        try {
            double dbl = nf.parse(str).doubleValue();
            System.out.printf("%s = %.2f and %s%n", str, dbl,
                    nf.format(dbl));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

输出

$40.00 = 40.00 and $40.00
$80,000.00 = 80000.00 and $80,000.00

答案 1 :(得分:0)

使用Regualar Expression替换所有美元和昏迷。正则表达式是非常有用的技能,非常容易学习。

这是cheat sheet。它相当容易学习。尝试提出一些事情,如果你被某个地方卡住了

然后使用Double.parseDouble包装类方法将字符串转换为double。