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()科学计数法解决 的相关文章

  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向
  • try-with-resources 中出现死代码警告,但翻译后的 try-catch-finally 中没有出现死代码警告

    以下代码使用try 有资源 https docs oracle com javase specs jls se7 html jls 14 html jls 14 20 3Java 8 中引入的构造 偶尔抛出 方法被声明为抛出一个偶尔的异常
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要

随机推荐

  • 链游玩家周报(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 方