簡體   English   中英

JAVA雙精度字符串格式

[英]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#parseDoubleDouble#toString輸出的格式解析數字。

當要求使用String#format格式化帶小數點的數字時,它將在當前語言環境中輸出,但Double#toString不會。

如果您想解析String#format的輸出,我相信Scanner可以做到這一點。 但是,就我個人而言,我會避免對您希望解析的數字進行本地化,而是使用Double#toString進行格式化,或者在格式化時顯式傳遞Locale.ROOT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM