我似乎无法理解这一点。如果尝试过以下方法:
DecimalFormat df = new DecimalFormat("00000.00");
DecimalFormat df = new DecimalFormat("######.##");
但以下行总是会生成 IllegalArgumentException。
double price = Double.valueOf(df.format(((EditText) view
.findViewById(R.id.edit_item_price)).getText().toString()));
// Sample input passed is value of 200 or some other whole number.
item.setPrice(price);
这没有意义,因为我只复制了这个论坛中明显的解决方案。你们中的大多数人都可以使用 format() 。
最初,我没有这些代码行。我只是在获得商品价格后调用我的 setPrice() 方法。这行得通。但是,Double.valueOf() 有一个讨厌的习惯,即只使用一个小数位。
例如通过 200。我在我的项目对象中得到 200.0。我想通过使用 DecimalFormat 可以防止这种情况发生,但似乎这反而让我更加头疼。