Java - 需要解析美元金额的帮助

4
我正在尝试找出一种方法,将美元金额中的“$”和“,”解析出来。
例如,假设我有一个字符串是$5,600。我需要解析它,使我剩下的只有5600。非常感谢你的任何帮助。
谢谢, Kevin
3个回答

6
你可以使用NumberFormat来处理数字格式。
 NumberFormat format = NumberFormat.getCurrencyInstance();
 Number number = format.parse("$5,600");

number将会是5600

如果你想针对特定国家/地区,可以指定语言环境。


嘿,Mohamed,你有聊天/即时通讯软件可以和我聊一些扩展问题吗? - NoviceCoding

4

原则上,您可以执行以下两个步骤:

  1. 删除前导的 $(如果有)。
  2. 删除任何嵌入的逗号。

可选地,您可以检查剩下的内容是否全部是数字。

您可以使用 StringstartsWithsubstringreplace 方法来完成此操作,但是有很多方法可以实现这一点。


1
replace方法就像是重新发明已经存在的“Format”轮子。其他人提出的解决方案使用“Java”来提取数字符号,而不进行任何替换。例如,replace方法在除美国以外的任何其他语言环境下都无法正常工作。我个人认为,你应该使用NumberFormat.getCurrencyInstance并将字符串解析为数字,这才是正确的方式。 - Mohamed Mansour

1

使用DecimalFormat怎么样?记住,Format类不仅可以用于字符串格式化,还可以用于字符串解析。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接