从格式化字符串转换为双精度字符串,反之亦然



我需要将格式化字符串转换为双精度字符串,反之亦然。

40.00美元即为40.00美元(反之亦然)

$80000.00将为80000.00(反之亦然)

到目前为止,我可以通过去掉美元符号和逗号来格式化字符串,但我无法将double转换回在正确位置带有美元符号和句号的格式化字符串。

如果我理解你的意思,你可以用类似的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

使用Regular表达式将所有美元和comas替换为零。正则表达式是一种非常有用的技能,而且非常容易学习。

这是它的备忘单。它很容易学。试着想出一些东西,如果你被困在某个地方,请联系

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

相关内容

最新更新