setText()方法总是将值设置为字符串吗?

时间:2014-03-01 16:22:21

标签: java swing jtextfield

方法setText()是否始终设置为字符串?如果我们想为文本字段设置Double值,那么它完成了吗?

3 个答案:

答案 0 :(得分:4)

首先将Double转换为字符串:

textField.setText(myDouble.toString());

这里存在与其他答案相矛盾的风险,应该使用Double.toString(d)String.valueOf(d)将原始双重转换为字符串,这样可以更清楚地表达意图(并且效率更高)而不是连接。

答案 1 :(得分:2)

如果您有一个实际的Double对象,那么您可以使用:

textField.setText( doubleValue.toString() );

或者,如果你有双原语,你可以使用:

textField.setText( doubleValue + "" );

答案 2 :(得分:1)

setText()只接受String。为了插入double,您可以将double连接到一个字符串:

double someDouble = 2.5;
yourJTextField.setText("" + someDouble);

请注意,double显示为2.5。要格式化双精度型,请参阅String.format()


编辑,5年后

我同意其他答案,即使用Double.toString(someDouble)进行转换更为清晰。