我想知道是否有一种现有的方法可以将格式化的数字字符串转换为数字,例如“123,456.78”转换为123456.78
基本上,与 DecimalFormat 函数不同,它将 double 变量转换为遵循给定格式(例如“###,###.##”模式)的字符串。我想实现此功能的反向操作,它将格式为“###,###.##”的字符串转换为 double 。是否有 API 可以执行此操作?
谢谢。
最佳答案
你应该看过 documentation for DecimalFormat和 its superclass .你会发现它不仅有format
方法,还有parse
方法,比如this one。 .
做你想做的最简单的方法是:
NumberFormat format = NumberFormat.getInstance();
Number value = format.parse(string);
// If you specifically want a double...
double d = value.doubleValue();
您将必须捕获 ParseException 并处理它。当您的字符串不代表有效数值时,您如何做取决于您想要做什么。如果是用户输入,您可能希望让用户再次输入文本。
关于java - 使用格式将字符串转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749950/