我正在尝试创建一个接收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”。有没有办法阻止圆润?
答案 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
}