您现在的位置是:首页 > 技术交流技术交流

java double转string去除科学计数法"E" 非tostring()和valueOf()

上善若水2020-07-30 14:23:39【技术交流】 6041人已围观

简介在遇到需要将double类型转换string类型时,会出现转成科学计数法的形式,希望字符串能原样输出.直接使用会报java.lang.Double cannot be cast to java.lan

在遇到需要将double类型转换string类型时,会出现转成科学计数法的形式,希望字符串能原样输出.直接使用会报java.lang.Double cannot be cast to java.lang.String类型转换错误,以下是搜集后的double转字符串的方式希望对你有所帮助!
测试环境:jdk13.

测试通过的做法,使用NumberFormat

Double s=Double.parseDouble("10000339") ;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
String s1 = nf.format(s);

运行结果10000339

总结网上的几种错误转换方式:

方式一:valueOf() 依旧会有科学计数法

Double s=Double.parseDouble("10000339") ;
String s1 = String.valueOf(s);

运行结果1.0000339E7

方式二:toString() 依旧会有科学计数法

Double s=Double.parseDouble("10000339") ;
String s1 = s.toString();

运行结果1.0000339E7

方式三 format 会存在小数情况

Double s=Double.parseDouble("10000339") ;
String s1 = String.format("%.3f", s);

运行结果10000339.000

值得一提是Double s=new Double("10000339");这种方式在java9版本后就被抛弃使用了.

很赞哦! (21)

相关文章

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们