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

2023-11-13

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Java中ArrayList的交集和并集

    有什么方法可以做到这一点吗 我正在寻找 但没有找到 另一个问题 我需要这些方法 以便我可以过滤文件 有些是AND过滤器 有些是OR过滤器 就像集合论中的那样 所以我需要根据所有文件和保存这些文件的联合 相交 ArrayList 进行过滤 我
  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后

随机推荐

  • 链游玩家周报(6.6-6.12)

    导语 上周链游玩家平台动态总览 魔域传说 6 9上线链游玩家平台 NFT艺术品成交价创下历史记录 魔域传说 6 9上线链游玩家平台 魔域正版授权 由 魔域 原班团队打造 全新魔域正版游戏 魔域传说 震撼来袭 继承魔域IP世界观 还原经典玩法
  • 第十一届“泰迪杯” 数据挖掘挑战赛 火热报名中!

    距离第十一届 泰迪杯 数据挖掘挑战赛报名结束仅剩下两周时间 为能让各位参赛小伙伴对 泰迪杯 竞赛进一步了解 今天小编为大家整理了详细的竞赛介绍 想要了解竞赛的小伙伴 快跟紧我的步伐吧 泰迪杯竞赛介绍 泰迪杯 数据挖掘挑战赛由泰迪杯数据挖掘挑
  • Unity3D:摄像头主角视角追踪

    摄像机的平滑追踪对于游戏来说十分实用 是游戏交互中必不可少的一部分 在一些竞速游戏中视角往往需要大幅度变动 效果 新浪上传又挂了 FollowTarget cs 挂到摄像机上即可 using UnityEngine using System
  • [网鼎杯 2018]Comment(二次注入,git泄露,git恢复)

    进入题目是这样的 要发帖还必须登录 在这里已经给了你用户名并提示了密码 密码隐藏了后三位 我们可以用爆破爆破后面三位的方法 由爆破状态码的密码后三位为666 登录进去就可以发帖了 接下来用dirsearch扫描 发现存在 git文件 那应该
  • 人工智能的缺陷

    首先从应用层面理解什么是人工智能 目前人工智能主流应用面包括 自然语言处理领域 代表为chatgpt 我们能用其进行日常交流 问题答疑 论文书写等 计算机视觉领域 代表为人脸识别 现在广泛应用于进出小区 办公打卡 实名认证等 所以简单理解人
  • Ubuntu下配置DNS

    方法一 通过 etc network interfaces 在它的最后增加一句 多个dns之间用空格分隔 interfaces 5 file used by ifup 8 and ifdown 8 Include files from et
  • Jeecg-boot JDBC任意代码执行漏洞

    漏洞描述 JeecgBoot是一款开源的企业级低代码平台 提供了表单 视图 流程等一键生成代码功能 目前在GitHub具有 35 5k star 在V3版本中 由于未对JDBC连接字符串进行限制 未授权的攻击者可配置恶意的连接字符串 通过发
  • 【react】props的批量传递

    真实开发中 如果有很多个要传递的属性 并且属性值很有可能是通过后台接口拿到的 那么一个个的在标签上写属性就不行了 正确写法 此处 p 的 不是解构赋值的那个 而是react用来放置变量的 实际上真实的表达式只有 p 但是根据es6语法 对象
  • 解读awr报告

    第一次看到awr报告 里面包含很多东西 完全不知道从哪里看起也不知道各项指标都是什么含义 从头到尾看了一遍 啥也没有看到 看了后面忘了前面的 花费一天的时间去熟悉它 在网上查资料对着报告一项项的熟悉了一遍 DB Name DB Id Ins
  • Vim:如何退出Vim编辑器?

    Vim 如何退出Vim编辑器 笑 这个问题可以说是每个初学者的 必经之路咯 解决办法如下 想要退出vim时 先按Esc 然后直接输入 就会在最下面显示出一行 vim开始进入命令模式 而不是write模式 当初自己傻得不行 明知道命令却不知道
  • SQL Server 2012下载和安装配置详细教程手册

    SQL Server 2012 下载和安装详细教程 目录 SQL Server 2012 下载和安装详细教程 1 软件下载 2 软件安装 3 软件验证 1 软件下载 1 官网地址 https www microsoft com zh cn
  • 【LeectCode】刷题指南

    LeetCode刷题指南 算法 双指针 633 平方数之和 https leetcode cn com problems sum of square numbers 345 反转字符串中的元音字母 https leetcode cn com
  • 数字集成电路设计-18-UVM

    引言 UVM Universal Verification Methodology 可以理解为形而上的东西 可以理解为是基于System verilog的一个库 提供一些API调用 其实没必要把UVM抬的那么高 上升到形而上的层次 因为在实
  • 利用RDM速度投影法提取微多普勒时频图

    0 关于微多普勒 雷达发射电磁信号 EW 到物体并接受物体的回波信号 基于接收信号的延迟时间 雷达可以测量目标的距离 如果物体是移动的 接受信号的频率将偏离发射信号的频率 成为多普勒效应 多普勒频移取决于移动物体的径向速度 即在视线方向上的
  • 【Cubase11】音乐工作站:宿主软件 - 基础入门笔记

    笔记目录 一 虚拟声卡安装与设置 1 1 为什么要安装虚拟声卡 1 2 Voicemeeter官网下载 1 3 Voicemeeter安装运行 1 3 1 双击安装包 默认安装即可 1 3 2 设置电脑的声音输出设备为虚拟声卡输入 1 3
  • SQL 子查询和临时表格

    首个子查询解决方案 首先 我们需要按照日期和渠道分组 然后按事件数 第三列 排序 这样可以快速得出第一个问题的答案 SELECT DATE TRUNC day occurred at AS day channel COUNT as even
  • 华为OD机试真题 Java 实现【获取最大软件版本号】【2023Q1 100分】

    一 题目描述 Maven版本号定义 lt 主版本 gt lt 次版本 gt lt 增量版本 gt lt 里程碑版本 gt 举例3 1 4 beta 其中 主版本和次版本都是必须的 主版本 次版本 增量版本由多位数字组成 可能包含前导零 里程
  • 张一鸣

    转自 https baike baidu com item E5 BC A0 E4 B8 80 E9 B8 A3 15898544 fr aladdin 张一鸣出生于1983年福建龙岩 父亲在市科委的工作 后来去东莞开办电子产品加工厂 母亲
  • wangEditor富文本编辑器(第三章:图片上传)

    目录 前言 一 思路 1 修改上传方式 二 全部流程 总结 前言 接上一章字数限制做好后 这一章要解决一下图片上传得问题 官方中得图片是转成了base格式 但是现实情况下就是要调用后端接口上传照片 所以我们这章主要是修改图片上传得默认接口
  • bigdecimal去除末尾多余的0 ,stripTrailingZeros()科学计数法解决

    BigDecimal是处理高精度的浮点数运算的常用的一个类 当需要将BigDecimal中保存的浮点数值打印出来 特别是在页面上显示的时候 就有可能遇到预想之外的科学技术法表示的问题 一般直接使用 BigDecimal toString 方