当前位置:   article > 正文

注意Mysql读取值很大的Double类型数据时会采用科学计数法_读取mysql double类型

读取mysql double类型

休息了好久,今天终于开工了。一个同事年前写的一段代码,今天测试的时候出了点问题,便找到我,我看了看他的代码,大概知道了原因。他要做的功能是采取POI导出数据为Excle,而且年前测试也没发现什么问题,但是由于某些原因,需要我导部分测试数据给他,所以测试出现问题便找到了我。

说来也挺有意思,导给他的数据是今儿现造的,其中涉及的金额一项,我都设置的特别大,都是几亿几亿的造,导致他导出来的表格金额这一项,采用的是科学记数法,他也没想到,其中原因是因为Mysql读取值很大的Double类型数据时会采用科学计数法,让他打了日志看,他也发现了问题所在。那么,如何解决呢?

  1. public static void main(String[] args) {
  2. Double dabo = 88664433210.88d;
  3. System.out.println(dabo);
  4. /**
  5. * 方法一
  6. */
  7. DecimalFormat df = new DecimalFormat();
  8. df.setMaximumFractionDigits(2);// 设置小数位
  9. String replace = df.format(dabo).replace(",", ""); //去掉千分符号
  10. System.out.println(replace);
  11. /**
  12. * 方法二
  13. */
  14. java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
  15. nf.setGroupingUsed(false);
  16. String scoreStr = nf.format(dabo);
  17. System.out.println(scoreStr);
  18. /**
  19. * 方法三
  20. */
  21. NumberFormat numberFormat = NumberFormat.getNumberInstance();
  22. numberFormat.setMaximumFractionDigits(0);
  23. numberFormat.setMinimumFractionDigits(0);
  24. numberFormat.setMaximumFractionDigits(2);// 设置小数位
  25. String format = numberFormat.format(dabo).replace(",", ""); //去掉千分符号;
  26. System.out.println(format);
  27. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/688327
推荐阅读
相关标签
  

闽ICP备14008679号