将文件中的字符串值解析为float,其中string包含逗号

Vic*_*cky 4 java string floating-point double parsing

我有一个输入文件进入我的应用程序,每行都有一些产品价格值.

但是,当价格高于999.99时,价值包含在适当的位置.

1,000.00
5,432.89
Run Code Online (Sandbox Code Playgroud)

等等

1)是否有关于将逗号放入货币值的规则?在什么基础上决定逗号的位置?

2)是否有一个库方法将这些字符串值解析为float/double?

谢谢阅读!!

Jon*_*eet 5

您可以使用DecimalFormat解析和格式化十进制数字.

有数千个分隔符的逗号.这是一个简单的例子,故意解析BigDecimal而不是floatdouble- 二进制浮点不适合货币值.

import java.math.*;
import java.text.*;

public class Test {
    public static void main(String[] args) throws Exception {
        DecimalFormat format = new DecimalFormat();
        format.setParseBigDecimal(true);
        BigDecimal value = (BigDecimal) format.parse("1,234.56");
        System.out.println(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在只使用千位分隔符和小数分隔符之类的默认语言环境 - 您可能希望指定特定的语言环境,如果您知道将要用于解析的文件的内容.