浮点值,带小数点后2位

时间:2015-04-10 00:16:25

标签: java android android-activity

在Android中,使用以下代码行将输入EditText的值转换为float。

        Float addPurchUnitCostPrice = Float.valueOf(addPurchaseCostPrice.getText().toString());

我希望addPurchUnitCostPrice的值为2位小数(总是)。怎么办呢?

3 个答案:

答案 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