首页 > 解决方案 > 将字符串转换为保留小数位的浮点数

问题描述

我有一些 Java 字符串格式为带有 4 位小数的巴西货币,例如:

1.000.000,0000 (1 million)
3,9590 (3 dollar and 9590 cents)
253,8999
10,0000

等等...

我想把它转换成浮点数,这样我就可以用它做一些数学运算了。

如何将字符串转换为保留 4 个小数位的浮点数?我尝试了 Float.parseFloat() 方法,但我总是得到 NumberFormatException (可能是因为逗号)。

在网上搜索我只看到想要将 Float 转换为格式化字符串的人。

标签: javastring

解决方案


使用NumberFormat.parse()

NumberFormat nf = NumberFormat.getNumberInstance();
float val = nf.parse("3,9590").floatValue();

您可以Locale在获取实例时给它一个,但默认将是您当前的语言环境。


推荐阅读