簡體   English   中英

返回一個雙精度值,但末尾有一個尾隨零

[英]Returning a double value but with a trailing zero at the end

Double d = 10.30

當我使用 d 的這個值時,即10.30它變成10.3

無論如何我可以維持這個10.30的值嗎記住我不能改變數據類型它應該是一個 double

有辦法嗎??

你不能用 Double 類來做到這一點。

如果你想顯示一個零值,你可以這樣做:

System.out.printf("%.2f%n", d);

這意味着您的變量d將在點后顯示 2 位數字。 因此,如果d = 10.3 ,上面的代碼將顯示10.30

字符串也可以存儲格式化值:

String s = String.format("%.2f%n", d);
System.out.println(s);

雙精度只包含關於它所代表的值的信息,而不是關於它的精度的信息。

一個雙精度數是否表示為10.310.3010.300000等由顯示器決定。 字符串轉換例程,而不是由生成值的例程。

最好的解決方案是

私有靜態最終 DecimalFormat df = new DecimalFormat("0.00");

df.format(amountDouble)

暫無
暫無

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

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