我正在使用以下代碼格式化雙精度值。 例如,如果輸入是,則輸出雙倍值應該是34.00。以2位小數進行雙倍轉換的字符串
Double value = new Double(34);
DecimalFormat decimalFormat =new DecimalFormat();
decimalFormat.applyPattern("#.00");
System.out.println("String format " + decimalFormat.format(value));
double formattedValue =Double.valueOf(decimalFormat.format(value));
System.out.println("double format " + formattedValue);
這裏輸出:
字符串格式34.00
雙格式的34.0
我不想使用BigDecimal
。
這裏我們最後的要求是將格式化的值存儲在雙類型字段中。
「雙」值沒有「格式」。 –
您正在存儲您的數值。 'double'不能保留重要的數字,所以無論你的字符串有多少數字,當你打印出來時你仍然會得到34.0。打印時,您將不得不重新格式化雙面打印。 –
請勿將其分配給* formattedValue *。打印* decimalFormat.format(value)*本身(如@Reimeus所示) – blackpen