在java中为netbeans gui将双精度转换为字符串
我希望total文本字段(txtotal)显示食品订单的运行总成本。但是,我得到一个错误,因为它说最后一行不正确,因为您无法将double转换为string。 我该怎么办在java中为netbeans gui将双精度转换为字符串,java,netbeans-8,Java,Netbeans 8,我希望total文本字段(txtotal)显示食品订单的运行总成本。但是,我得到一个错误,因为它说最后一行不正确,因为您无法将double转换为string。 我该怎么办 txtOrder.setText("Soup of the Day"); txtPrice.setText("€4.00"); total=total+crapClaws; txtTotal.setText(total); 只要写下: txtTotal.setText(String.value
txtOrder.setText("Soup of the Day");
txtPrice.setText("€4.00");
total=total+crapClaws;
txtTotal.setText(total);
只要写下:
txtTotal.setText(String.valueOf(total));
方法setText
需要一个String
值,但您给它一个double
。你需要把它转换成双精度的。有些方法,如System.out.println
,提供了方便的重载,这些重载采用了许多不同的类型,因此您可能习惯于这种“只工作”,但setText
的情况并非如此
…顺便说一句,你可能想仔细检查一下今天的汤是否真的是垃圾爪 只要写:
txtTotal.setText(String.valueOf(total));
方法setText
需要一个String
值,但您给它一个double
。你需要把它转换成双精度的。有些方法,如System.out.println
,提供了方便的重载,这些重载采用了许多不同的类型,因此您可能习惯于这种“只工作”,但setText
的情况并非如此
…顺便说一句,你可能想仔细检查一下今天的汤是否真的是垃圾爪 只要写:
txtTotal.setText(String.valueOf(total));
方法setText
需要一个String
值,但您给它一个double
。你需要把它转换成双精度的。有些方法,如System.out.println
,提供了方便的重载,这些重载采用了许多不同的类型,因此您可能习惯于这种“只工作”,但setText
的情况并非如此
…顺便说一句,你可能想仔细检查一下今天的汤是否真的是垃圾爪 只要写:
txtTotal.setText(String.valueOf(total));
方法setText
需要一个String
值,但您给它一个double
。你需要把它转换成双精度的。有些方法,如System.out.println
,提供了方便的重载,这些重载采用了许多不同的类型,因此您可能习惯于这种“只工作”,但setText
的情况并非如此
…顺便说一句,你可能想仔细检查一下今天的汤是否真的是垃圾爪 可以通过多种方式将double转换为字符串。以下任何一项都有效:
txtTotal.setText(String.valueOf(total));
txtTotal.setText(Double.toString(total));
txtTotal.setText("" + total);
第一个解决方案调用一个方法,该方法将double显式转换为字符串;最后一个解决方案使用了这样一个事实:Java允许您将任意值与字符串连接起来,并将字符串作为结果
尽管如此,您应该知道使用double表示货币值是一个非常糟糕的主意。double使用二进制浮点数,这意味着许多值无法精确表示。例如,0.1没有作为双精度的精确表示。如果您大量使用货币值进行计算,这几乎肯定会导致意外的结果
您应该使用
BigDecimal
表示货币值,或者在long
或int
中存储美分数。您可以通过多种方式将double转换为字符串。以下任何一项都有效:
txtTotal.setText(String.valueOf(total));
txtTotal.setText(Double.toString(total));
txtTotal.setText("" + total);
第一个解决方案调用一个方法,该方法将double显式转换为字符串;最后一个解决方案使用了这样一个事实:Java允许您将任意值与字符串连接起来,并将字符串作为结果
尽管如此,您应该知道使用double表示货币值是一个非常糟糕的主意。double使用二进制浮点数,这意味着许多值无法精确表示。例如,0.1没有作为双精度的精确表示。如果您大量使用货币值进行计算,这几乎肯定会导致意外的结果
您应该使用
BigDecimal
表示货币值,或者在long
或int
中存储美分数。您可以通过多种方式将double转换为字符串。以下任何一项都有效:
txtTotal.setText(String.valueOf(total));
txtTotal.setText(Double.toString(total));
txtTotal.setText("" + total);
第一个解决方案调用一个方法,该方法将double显式转换为字符串;最后一个解决方案使用了这样一个事实:Java允许您将任意值与字符串连接起来,并将字符串作为结果
尽管如此,您应该知道使用double表示货币值是一个非常糟糕的主意。double使用二进制浮点数,这意味着许多值无法精确表示。例如,0.1没有作为双精度的精确表示。如果您大量使用货币值进行计算,这几乎肯定会导致意外的结果
您应该使用
BigDecimal
表示货币值,或者在long
或int
中存储美分数。您可以通过多种方式将double转换为字符串。以下任何一项都有效:
txtTotal.setText(String.valueOf(total));
txtTotal.setText(Double.toString(total));
txtTotal.setText("" + total);
第一个解决方案调用一个方法,该方法将double显式转换为字符串;最后一个解决方案使用了这样一个事实:Java允许您将任意值与字符串连接起来,并将字符串作为结果
尽管如此,您应该知道使用double表示货币值是一个非常糟糕的主意。double使用二进制浮点数,这意味着许多值无法精确表示。例如,0.1没有作为双精度的精确表示。如果您大量使用货币值进行计算,这几乎肯定会导致意外的结果
您应该使用BigDecimal
来表示货币值,或者在long
或int
中存储美分数txtotal.setText(String.valueOf(total))代码>或txtotal.setText(“+total”)
或txtotal.setText(Double.toString(total))代码>我自己,但是,我会使用NumberFormat货币实例,NumberFormat.getCurr