温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java Double 双精度如何转字符串

发布时间:2026-07-25 01:45:46 来源:亿速云 阅读:106 作者:小樊 栏目:编程语言

在 Java 中,把 double(双精度)转成字符串(String) 有多种常见方式,下面按使用场景给你总结一下。


✅ 1. 最常用:String.valueOf(double)

double d = 3.1415926;
String s = String.valueOf(d);
System.out.println(s); // "3.1415926"

特点:

  • 简单、安全
  • 推荐日常使用

✅ 2. 使用 Double.toString(double)

double d = 3.14;
String s = Double.toString(d);

特点:

  • String.valueOf() 本质一样
  • 可读性稍好

✅ 3. 字符串拼接(隐式转换)

double d = 3.14;
String s = d + "";

特点:

  • 写法简单
  • 不推荐在正式代码中大量使用(可读性差、性能略低)

✅ 4. 格式化输出(控制小数位、千分位等)

使用 String.format

double d = 3.1415926;
String s = String.format("%.2f", d);
System.out.println(s); // "3.14"

使用 DecimalFormat

import java.text.DecimalFormat;

double d = 3.1415926;
DecimalFormat df = new DecimalFormat("#.00");
String s = df.format(d);
System.out.println(s); // "3.14"

适用场景:

  • 金额
  • 百分比
  • 控制精度

✅ 5. 科学计数法 / 特殊值处理

double d1 = 1.23e5;
double d2 = Double.NaN;
double d3 = Double.POSITIVE_INFINITY;

System.out.println(String.valueOf(d1)); // "123000.0"
System.out.println(String.valueOf(d2)); // "NaN"
System.out.println(String.valueOf(d3)); // "Infinity"

✅ 6. 避免精度问题的注意点

System.out.println(0.1 + 0.2); // 0.30000000000000004

如果你需要精确表示(如金额),不要用 double,而应使用:

BigDecimal bd = new BigDecimal("0.1");

✅ 推荐总结

场景 推荐方式
普通转换 String.valueOf(d)
控制小数位 String.format() / DecimalFormat
科学计算 注意 double 精度问题
金额 BigDecimal

如果你有具体场景(比如保留几位小数、是否要去掉末尾 0、转 JSON、数据库存储等),可以告诉我,我帮你选最合适的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI