Android

时间:2017-03-27 19:04:39

标签: java android oop sdk android-version

我正在尝试创建一个接收double的方法,并返回一个在小数点后始终为2个数字格式化的String。

例如:

1990.999 - > “1990.99”

1990.9 - > “1990.90”

我正在使用Android min sdk 21版开发应用程序,因此我无法使用DecimalFormat。我设法制作出像这样的东西:

public String currencyFormat(double value) {
        return value < 0
                ? String.format("-" + currencySymbol + "%.02f", value * -1)
                : String.format(currencySymbol + "%.02f", value);
    }

然而,这里的问题是,如果我尝试例如1999,369,结果是“1999,37”。有没有办法阻止圆润?

1 个答案:

答案 0 :(得分:1)

您可以改用此方法:

public static String currencyFormat(double value) {
    value = Math.floor(value * 100) / 100; // rounds 'value' to 2 decimal places
    return String.format("%.2f", value); // converts 'value' to string
}