java - 使用格式将字符串转换为数字

标签 java string-formatting

我想知道是否有一种现有的方法可以将格式化的数字字符串转换为数字,例如“123,456.78”转换为123456.78

基本上,与 DecimalFormat 函数不同,它将 double 变量转换为遵循给定格式(例如“###,###.##”模式)的字符串。我想实现此功能的反向操作,它将格式为“###,###.##”的字符串转换为 double 。是否有 API 可以执行此操作?

谢谢。

最佳答案

你应该看过 documentation for DecimalFormatits 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/

相关文章:

java - 我怎样才能解决 CLASSPATH 问题并在 OSX 上编译 OpenKinect Java 示例?

c++ - C++中的命名参数字符串格式

rust - 如何将附加参数传递给特征的显示或调试实现?

python - 如何在 Python 2.7 中以字符串格式包含 %?

Java 模式匹配器赋值

java - 如何在 JAR\Java 项目中存储值

Java:线程在所有类都没有 public void run() 的情况下工作?

Java 变量基础

wpf - TimeSpan 的 MultiBinding StringFormat

c++ - 将 C 风格的 pretty-print 重构为 C++ 风格的 pretty-print