簡體   English   中英

NetBeans GUI將Java中的double轉換為字符串

[英]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表示貨幣值,或者將美分存儲在longint

寫吧:

txtTotal.setText(String.valueOf(total));

setText方法期望使用String值,但是您將其設置為double 您需要轉換該兩倍。 諸如System.out.println類的某些方法提供的便利性重載確實有許多不同的類型,因此您可能已經習慣了這種“正常工作”,但setText卻並非如此。

... crapClaws ,您可能想crapClaws一下今天的湯實際上是crapClaws

暫無
暫無

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

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