繁体   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