我一直在尝试将值转换为小数,例如RM108.00。我用过
方法value = String.format("%.2f", curProduct.price);
可行,
但是当我想
应用value * ShoppingCartActivity.getProductQuantity(curProduct)
,它说
operator * cannot applied to java.lang.string
。我该如何解决
问题?我应如何将总价变成小数点后两位?
item.productPrice = (TextView) convertView
.findViewById(R.id.textViewTotal);
value = String.format("%.2f", curProduct.price);
if (mShowPrice) {
item.productPrice.setText("Total Price: " +
String.valueOf(curProduct.price *
ShoppingCartActivity.getProductQuantity(curProduct)));
} else{
item.productPrice.setText("RM" + String.valueOf(value));
}
最佳答案
这意味着以下两个方法之一是字符串,而不是数字:curProduct.price
ShoppingCartActivity.getProductQuantity(curProduct)
您可以使用以下代码将它们转换为整数(如果有小数,则将其转换为浮点数):Integer.parseInt(curProduct.price);
Float.parseFloat(curProduct.price);
还可能需要查看这些值的定义位置,并确保尽可能使用整数/浮点数,因为转换可能会花费一些时间。整数应始终用于整数(如果它们不是很大),而浮点数或双精度数应用于十进制数。除非您确切知道自己在做什么,否则不要在数字上使用字符串!