如何以双精度格式显示JTextField,而不是以字符串的形式显示

时间:2014-01-03 19:51:17

标签: java swing jtextfield

例如:

double y = rs.getDouble ("a");
double z = rs.getDouble ("b");
double q = rs.getDouble ("c");
TextField2.setText (String.valueOf ((q * y) + z));

但如果我拿数据,那么结果是这样的: 3000.0是一个字符串而不是一个双。

2 个答案:

答案 0 :(得分:2)

  

如何以双重形式显示JTextField,而不是以字符串

的形式显示

答案 1 :(得分:1)

使用JFormattedTextField

NumberFormat amountFormat = NumberFormat.getNumberInstance();
amountFormat.setMinimumFractionDigits(2);
amountFormat.setMaximumFractionDigits(2);
JFormattedTextField textfield1 = new JFormattedTextField(amountFormat);

而不是setText(),你会使用setValue(Object value),所以你会做

double value = q * y + z;   // no need for paranthesis - order of operation
textfield2.setValue(new Double(value));

请参阅JFormattedTextField docs | Tuorial | NumberFormat


注意,如果您想要货币转换,可以使用。 NumberFormat.getCurrencyInstance()