JAVA double 转字符串格式
JAVA double to string format
突然我得到一个之前没有的错误
示例:
Double double1 = 0.12;
String string1 = String.format("%.2f", double1)
System.out.println(string1);
输出:
0,12
那我就这样做
double double2 = Double.parseDouble(string1);
错误
java.lang.NumberFormatException: For input string: "0,12"
我很确定我来是因为“,”(逗号)。有趣的是,两天前一切正常,我没有改变任何东西。
知道发生了什么或我需要改变什么吗?
Double#parseDouble
以 Double#toString
.
输出的格式解析数字
String#format
,当要求格式化带小数点的数字时,将在当前语言环境中输出,但 Double#toString
不会。
如果你想解析String#format
的输出,我相信Scanner
可以做到。不过,就个人而言,我会避免对您希望解析的数字进行本地化,并使用 Double#toString
进行格式化,或者在格式化时显式传递 Locale.ROOT
。
突然我得到一个之前没有的错误
示例:
Double double1 = 0.12;
String string1 = String.format("%.2f", double1)
System.out.println(string1);
输出:
0,12
那我就这样做
double double2 = Double.parseDouble(string1);
错误
java.lang.NumberFormatException: For input string: "0,12"
我很确定我来是因为“,”(逗号)。有趣的是,两天前一切正常,我没有改变任何东西。
知道发生了什么或我需要改变什么吗?
Double#parseDouble
以 Double#toString
.
String#format
,当要求格式化带小数点的数字时,将在当前语言环境中输出,但 Double#toString
不会。
如果你想解析String#format
的输出,我相信Scanner
可以做到。不过,就个人而言,我会避免对您希望解析的数字进行本地化,并使用 Double#toString
进行格式化,或者在格式化时显式传递 Locale.ROOT
。