Formate是为double定义的对吗?有没有更好的方法不使用大小数?也许是在数学环境下,这个演员阵容不是很好。那么,为什么当halfup意味着下一个整数时抛出它呢?
static String abfallEimer(double d, boolean runden)
{
String s = "";
NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);
nf.setGroupingUsed(true);
nf.setRoundingMode(RoundingMode.HALF_UP);
// BigDecimal bd = new BigDecimal(d);
// bd = bd.setScale(0, RoundingMode.HALF_UP);
// d = bd.longValueExact();
d = new Long(nf.format(d));
if (d > 1000 && !runden)
{
long kaki = Math.round(d / 1000) * 1000;
if (d > 1000000)
{
kaki /= 1000000;
s = nf.format(kaki) + " Mill.";
return s;
}
else
{
s = nf.format(kaki);
return s;
}
}
else
{
long kaki = (long) d;
s = NumberFormat.getInstance(Locale.GERMAN).format(kaki);
return s;
}
}```
线程“JavaFX应用程序线程”中出现异常java.lang.NumberFormatException:对于输入字符串:“1,5”
在java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
在java.base/java.朗。朗.(Long.java:1344)
在GBO/gui.country.combo.国家信息.lambda0美元(CountryInfo.java:124)