如何格式化BigDecimal且不丢失小数部分的末尾零?
NumberFormat 丢失BigDecimal末尾零的问题
NumberFormat似乎并不关心BigDecimal的scale属性,因此会丢失末尾的零:
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN); nf.setMaximumFractionDigits(Integer.MAX_VALUE); BigDecimal a = new BigDecimal("1234.56789"); //scale=5 BigDecimal b = new BigDecimal("1234.567890"); //scale=6 a.toString(); //1234.56789 b.toString(); //1234.567890 <-- ✅ 小数位保留 nf.format(a); //1.234,56789 nf.format(b); //1.234,56789 <-- ❌ 小数位丢失
内容的提问来源于stack exchange,提问作者Knight Industries
相关产品推荐
相关产品推荐

