【发布时间】:2015-08-24 04:22:28
【问题描述】:
如何将整数设置为双精度数?假设我有一个名为 day 的组合框,它有 1,2,,3 个元素。我想将其设置为两位小数。如果用户选择 1,它将变为 1.00。我该怎么做?
public void actionPerformed(ActionEvent e){
String a=(String)comboBox.getSelectedItem();
//Integer b=(comboBox_1.getSelectedIndex()+1);
int day=(Integer)comboBox_2.getSelectedItem();
double bo;
DecimalFormat df = new DecimalFormat("#.##");
bo= Double.valueOf(df.format(day));
我得到的错误
java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(DecimalFormat.java:507)
at java.text.Format.format(Format.java:157)
at gui.User.<init>(User.java:105)
at gui.User$1.run(User.java:49)
【问题讨论】:
-
没有足够的代码来重现您的问题。
DecimalFormat.format(long)(您在代码 sn-p 中调用)应该适用于所有 int 值。您确定例外来自这一行吗? -
先用
DecimalFormat df = new DecimalFormat("#.00");再df.format(day),不用双重转换 -
int i = 3;双 d = (双) i;
-
是否可以像我一样将 int comboBox 格式化为两位小数?
-
@anirudh 组合框怎么样? int day=(Integer)comboBox_2.getSelectedItem();