[英]Java issue converting String to double
我正在嘗試將String轉換為double。
源字符串的格式為“ 88.6”,我期望的雙精度字符應為“ 88.60”。
我嘗試使用Double.parseDouble,Double構造函數,Double.valueOf,DecimalFormat和NumberFormat進行硬編碼Locale.US或Locale.ENGLISH進行轉換,但仍然得到“ 88,600000”。
我應該如何轉換?
謝謝
DecimalFormat df = new DecimalFormat("#.##", new DecimalFormatSymbols(Locale.US));
try {
dValue = df.parse(szValue).doubleValue();
} catch(ParseException e) {
e.printStackTrace();
}
雖然我認為保持尾隨零不是必要的,但我認為這是您要的:
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
java.text.DecimalFormat df = new java.text.DecimalFormat();
df.setDecimalFormatSymbols(dfs);
df.applyPattern( "###0.00" );
String s = "9.90" ;
System.out.println("non formated d=" + Double.valueOf(s) + " formated d=" +df.format(Double.valueOf(s)));
尾隨零僅在打印時可見,因此您只需要格式化數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.