我有这样的代码:
double priceMulti = 1.2;
double price = Double.parseDouble(jTextField1.getText());
double date = 1980;
double random = Math.random()*20;
jLabel28.setText(priceMulti*String.valueOf(price)*date*random);
并且与设置文本一致,我得到了一个错误"二元运算符的错误操作数类型" *"" 所以我什么都不能解决。 编辑:主要问题是解决,但现在我想使用BigDecimal,而不是双打,因为它们像1.000012,我不知道如何。
答案 0 :(得分:1)
您尝试将String
值乘以double
值。算术运算符不适用于String值。您需要将所有双精度相乘,然后获取它的String值以将其设置为jLabel28
。
jLabel28.setText(String.valueOf(priceMulti * price * date * random));
答案 1 :(得分:0)
你不能在Java中将字符串乘以double。您应该对所有双打进行乘法运算,然后将其转换为字符串,将结果值设置为标签文本