BigDecimal是处理高精度的浮点数运算的常用的一个类

当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。

一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。

如:
System.out.println( new BigDecimal("10000000000").toString());
        但是,toString()方法输出的字符串并不能保证不是科学计数法。

不过在日常的使用中,用toString()方法输出的就是普通的数字字符串而非科学计数法。

直接这么写:
 System.out.println( new BigDecimal("100.000").toString());
        程序的输出即为:  100.000

如果我们希望去除末尾多余的0,那么我们应该这么写:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toString());
        其中,stripTrailingZeros()函数就是用于去除末尾多余的0的,但是此时程序的输出为: 1E+2

是科学计数法,可能并不是我们想要的。

解决的方法很简单,如果想要避免输出科学计数法的字符串,我们要用toPlainString()函数代替toString()。如:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toPlainString());
        此时程序的输出就为 100

bigdecimal去除末尾多余的0 ,stripTrailingZeros()科学计数法解决的更多相关文章

  1. BigDecimal去除末尾多余的0

    Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000"); Big ...

  2. C#导出Excel文件,过长数值显示为科学计数法解决方法 C#

    C#导出EXCEL文件,身份证号码或某些ID内容长度超过15个数字,这样导出的Excel文件中默认情况下将这个值以科学计数方式显示,下面提供两种解决方式:1.在转出的内容前,加上一个TAB符号,C# ...

  3. 使用BigDecimal转换较长小数时候出现科学计数法的问题

    public static String divToString(double v1, double v2, int scale){ if (scale < 0) { throw new Ill ...

  4. double数值多时系统默认科学计数法解决方法

    比如 Double d = new Double("1234567890.12"); System.out.println("d:="+d); java.tex ...

  5. R 连接数据库长数字被科学计数法解决方法

    数据库中的订单编号

  6. BigDecimal实现末尾去掉无用0

    BigDecimal 原生提供了 stripTrailingZeros 方法可以实现去掉末尾的 0,然后使用 toPlainString 可以输出数值,注意这里如果使用 toString()  会变成 ...

  7. PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

    PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中N ...

  8. excel表格导出之后身份证号列变成了科学计数法

    excel表格导出之后身份证号列变成了科学计数法 解决:写sql查询出所有数据,并在身份证列添加字符,然后导出,将要复制的excel表格设置单元格格式问文本类型,然后复制粘贴,再把加入的字符删除,搞定 ...

  9. js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0

    1.向下取整 var num1 = 12.10345; var num2 =12.9801; var newnum1=Math.floor(num1)     //结果 12 var newnum2= ...

  10. BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

    转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...

随机推荐

  1. 【docker】如何将服务器加入集群,成为子节点

    需求:将服务器加入集群,成为集群中的图一.png (18.95 KB, 下载次数: 0) 图一 图二.png (10.92 KB, 下载次数: 0) 图二 图三.png (26.71 KB, 下载次数 ...

  2. BUUCTF---达芬奇的密码

    题目 达芬奇隐藏在蒙娜丽莎中的数字列:1 233 3 2584 1346269 144 5 196418 21 1597 610 377 10946 89 514229 987 8 55 6765 2 ...

  3. mvc api 下载文件问题

    背景:前后端分离项目,文件下载 项目中 因为实际文件名和路径里的文件名 不一致(一般路径文件名需要使用唯一名字) 刚开始使用返回链接的方式,会出现图片直接预览,文件名会以路径文件名下载,用户体验不好. ...

  4. 【数据结构与算法】找出最小的k个数:三路快速排序算法思想实现

    找出最小的k个数:三路快速排序算法思想实现 Java https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/solution/zui-xi ...

  5. Superfetch/SysMain

    卡的不要不要的 Windows 服务中有一个叫 Superfetch. 现在换了个马甲叫 SysMain 本意是好的,超级预读功能可以帮助大型软件极大提升启动加载时间,但是经常抽风至少我觉得 导致磁盘 ...

  6. 《机器人SLAM导航核心技术与实战》第1季:第5章_机器人主机

    <机器人SLAM导航核心技术与实战>第1季:第5章_机器人主机 视频讲解 [第1季]5.第5章_机器人主机-视频讲解 [第1季]5.1.第5章_机器人主机_X86与ARM主机对比-视频讲解 ...

  7. DataPermissionInterceptor源码解读

    本文首发在我的博客:https://blog.liuzijian.com/post/mybatis-plus-source-data-permission-interceptor.html 一.概述 ...

  8. @Accessors lombok注解用法

    最近学习代码看到很多有趣的注解:慢慢整理下: @Accessors注解 @Accessors注解官方给出的解释是:面向getter和setter的更流畅的API.用于生成和查找getter和sette ...

  9. React AntD的Dropdown组件报错:React.Children.only expected to receive a single React element child.可能的n原因

    React.Children.only expected to receive a single React element child. Error: React.Children.only exp ...

  10. 有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案

    有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案 本实例是在DataGrid的详情行里再嵌入一个DataGrid,模拟重叠 ...