我正在使用
public static String displayNumberAmount(Number amount, Locale locale) {
String.format(locale, "%1$,.2f", amount);
}
以区域设置和2位小数格式化我的数字。
如果我有号码1032,它将被正确格式化为1 032,00 但如果我的数字低于1000,例如890,它将被格式化为890(我总是需要这2位小数)
在对象中,这些值存储为BigDecimals,如
BigDecimal val = object.getAmount();
String formattedVal = displayNumberAmount(val, myLocale);
你能告诉我为什么吗?
答案 0 :(得分:0)
您的代码适用于我。这是我的考验:
import java.math.BigDecimal;
import java.util.Locale;
public class Tester{
public static void main(String args[]){
System.out.println("999 " + displayNumberAmount(new BigDecimal(999.99), Locale.FRENCH));
System.out.println("1000 " + displayNumberAmount(new BigDecimal(1000.99), Locale.FRENCH));
System.out.println("1001 " + displayNumberAmount(new BigDecimal(1001.99), Locale.FRENCH));
}
public static String displayNumberAmount(Number amount, Locale locale) {
return String.format(locale, "%1$,.2f", amount);
}
}
答案 1 :(得分:-1)
public static String displayNumberAmount(Number amount, Locale locale) {
return String.format(locale, "%1$,.2f", amount);
}
'return'语句丢失。