在 Java 中,把 float(或 Float)转成字符串有多种常见方式,下面按使用场景给你总结一下。
float f = 3.14f;
String s = "" + f;
String.valueOf()(最推荐)float f = 3.14f;
String s = String.valueOf(f);
Float.toString()float f = 3.14f;
String s = Float.toString(f);
✅ 以上三种效果基本一致,日常开发用 String.valueOf() 最稳妥。
printf / String.format(常用)float f = 3.14159f;
// 保留2位小数
String s1 = String.format("%.2f", f);
// 补零到6位
String s2 = String.format("%06.2f", f);
System.out.println(s1); // 3.14
DecimalFormat(更灵活)import java.text.DecimalFormat;
float f = 3.1f;
DecimalFormat df = new DecimalFormat("0.00");
String s = df.format(f);
System.out.println(s); // 3.10
✅ 适合金额、显示格式要求严格的场景。
Java 默认有时会输出科学计数法:
float f = 0.0000001f;
System.out.println(f); // 1.0E-7
如果不想用科学计数法,用 DecimalFormat 或 BigDecimal:
new DecimalFormat("0.0000000").format(f);
Float.NaN -> "NaN"
Float.POSITIVE_INFINITY -> "Infinity"
Float.NEGATIVE_INFINITY -> "-Infinity"
这些会直接转成对应字符串。
| 场景 | 推荐方式 |
|---|---|
| 普通转换 | String.valueOf(f) |
| 控制小数位 | String.format / DecimalFormat |
| 高性能 | Float.toString(f) |
如果你是 金额 / 高精度计算,建议不要用 float,用 BigDecimal。
需要我给你写一个完整示例或对比 float vs double 吗?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。