[英]Converting double to string in java for a netbeans gui
我希望總計文本字段(txtTotal)顯示食品訂單成本的運行總計。 但是我得到一個錯誤,因為它說最后一行是錯誤的,因為您不能將雙精度型轉換為字符串。 我該怎么辦??
txtOrder.setText("Soup of the Day");
txtPrice.setText("€4.00");
total=total+crapClaws;
txtTotal.setText(total);
您可以通過多種方式將雙精度型轉換為字符串。 以下任何一項均可使用:
txtTotal.setText(String.valueOf(total));
txtTotal.setText(Double.toString(total));
txtTotal.setText("" + total);
解決方案的第一個調用一個方法,該方法將double顯式轉換為String; 最后一種解決方案利用Java允許您將任意值與字符串連接在一起的事實,結果是使用字符串。
綜上所述,您應該知道使用雙精度表示貨幣值是一個非常糟糕的主意。 雙精度使用二進制浮點數,這意味着許多值無法精確表示。 例如,0.1沒有精確表示為double。 如果您對貨幣值進行大量計算,幾乎可以肯定會導致意外結果。
您應該使用BigDecimal
表示貨幣值,或者將美分存儲在long
或int
。
寫吧:
txtTotal.setText(String.valueOf(total));
setText
方法期望使用String
值,但是您將其設置為double
。 您需要轉換該兩倍。 諸如System.out.println
類的某些方法提供的便利性重載確實有許多不同的類型,因此您可能已經習慣了這種“正常工作”,但setText
卻並非如此。
... crapClaws
,您可能想crapClaws
一下今天的湯實際上是crapClaws
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.