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?
谢谢阅读!!
您可以使用DecimalFormat解析和格式化十进制数字.
有数千个分隔符的逗号.这是一个简单的例子,故意解析BigDecimal而不是float或double- 二进制浮点不适合货币值.
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)
现在只使用千位分隔符和小数分隔符之类的默认语言环境 - 您可能希望指定特定的语言环境,如果您知道将要用于解析的文件的内容.