在 Java 中,Float(浮点数)格式化常见有几种方式,下面按使用场景给你总结一下。
String.format(最常用)float f = 3.14159f;
// 保留两位小数
String s1 = String.format("%.2f", f);
System.out.println(s1); // 3.14
// 补零到总长度 8,保留 2 位小数
String s2 = String.format("%08.2f", f);
System.out.println(s2); // 00003.14
格式说明:
%f:浮点数.2:保留 2 位小数08:总宽度 8,不足补 0System.out.printffloat f = 12.3f;
System.out.printf("价格:%.2f 元%n", f);
DecimalFormat(适合金额、报表)import java.text.DecimalFormat;
float f = 1234.5678f;
DecimalFormat df = new DecimalFormat("#,##0.00");
String s = df.format(f);
System.out.println(s); // 1,234.57
常用模式:
0.00:不足补 0#.##:不补 0#,##0.00:千分位BigDecimal(高精度推荐)float f = 1.235f;
BigDecimal bd = new BigDecimal(f).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd); // 1.24
⚠️ 不建议用
Float直接做金额计算,推荐用BigDecimal
float f = 3.0f;
String s = String.valueOf(f);
System.out.println(s); // 3.0
或用:
DecimalFormat df = new DecimalFormat("0.##");
System.out.println(df.format(f)); // 3
System.out.println(0.1f + 0.2f); // 0.30000001
如果你有具体场景(如:金额、百分比、科学计数法、国际化),可以告诉我,我可以给你更合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。