我需要将格式化的字符串转换为double,反之亦然。
$ 40.00将是40.00(反之亦然)
$ 80,000.00将为80000.00(反之亦然)
到目前为止,我可以通过取出美元符号和逗号来格式化字符串,但我无法将double转换回格式化字符串,并在正确的位置使用美元符号和逗号。
答案 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。