在Android中,使用以下代码行将输入EditText的值转换为float。
Float addPurchUnitCostPrice = Float.valueOf(addPurchaseCostPrice.getText().toString());
我希望addPurchUnitCostPrice
的值为2位小数(总是)。怎么办呢?
答案 0 :(得分:2)
浮点值不具有小数位。他们有二进制位置,这两个是不可通约的。如果你想要小数位,你必须使用十进制基数,即BigDecimal.
答案 1 :(得分:0)
您最好在Android中使用currency formatter,但需要加倍。货币格式化程序还将处理使用逗号代替小数点的国家/地区。
所以将代码更改为
double addPurchUnitCostPrice = Double.parseDouble(addPurchaseCostPrice.getText().toString());
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
String formattedPrice = currencyFormat.format(price);
您将创建2位小数的价格,并根据用户设备定义的国家/地区进行格式化。
答案 2 :(得分:0)
你可以只使用BigDecimal