public static void main(String[] args) {
double d = 123456789.128d;
String s1 = big(d);
String s2 = big2(d);
System.out.println(d);
System.out.println(s1);
System.out.println(s2);
}
// 方法一:NumberFormat
private static String big(double d) {
NumberFormat nf = NumberFormat.getInstance();
// 是否以逗号隔开, 默认true以逗号隔开,如[123,456,789.128]
nf.setGroupingUsed(false);
// 结果未做任何处理
return nf.format(d);
}
//方法二: BigDecimal
private static String big2(double d) {
BigDecimal d1 = new BigDecimal(Double.toString(d));
BigDecimal d2 = new BigDecimal(Integer.toString(1));
// 四舍五入,保留2位小数
return d1.divide(d2,2,BigDecimal.ROUND_HALF_UP).toString();
}
详情见 java中float和double为什么会转为科学记数法?_double变成科学计数法_m_sophia的博客-CSDN博客
java浮点型 自动转换成科学计数法的解决方法
最新推荐文章于 2024-02-22 17:26:16 发布