BigDecimal 转字符串,并去掉尾部的0

2023-10-30

有一种写法,先转成Double

BigDecimal target = new BigDecimal("5375130.000000");
BigDecimal.valueOf(Double.parseDouble(target.toString())).toString()

这种写法发现两个问题:
1、小于8位数时,可以正常转化,但如果是整数的话,后边会带着一个".0"。
2、大于等于8位数时,如果是10的倍数的话,转化的还是科学计数法类型的;如果不是的话,可以正常转化,后边不会带着“.0”。
测试代码:

BigDecimal target = new BigDecimal("5375130.000000");
String str = BigDecimal.valueOf(Double.parseDouble(target.toString())).toString();
System.out.println("小于8位,并且是整数:" + str);
System.out.println("======================");
target = new BigDecimal("12676490.000000");
str = BigDecimal.valueOf(Double.parseDouble(target.toString())).toString();
System.out.println("大于等于8位,并且是10的倍数" + str);
System.out.println("======================");
target = new BigDecimal("12676491.000000");
str = BigDecimal.valueOf(Double.parseDouble(target.toString())).toString();
System.out.println("大于等于8位,不是10的倍数" + str);

执行结果:
在这里插入图片描述

另一种方式,应用BigDecimal自身的方法:

stripTrailingZeros() 去掉尾部的0;
toPlainString() 转化字符串,非科学计数法。

BigDecimal target = new BigDecimal("5375130.000000");
String str = target.stripTrailingZeros().toPlainString();

在这里插入图片描述

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

BigDecimal 转字符串,并去掉尾部的0 的相关文章

随机推荐

  • 思科交换机密码破解

    思科交换机密码破解 A 1 打开电脑中SecureCRT软件 或者下载windows7 超级终端 v1 01 绿色版 hypertrm exe 把port COM3 不具体 需要查看电脑的端口具体为多少 和Baud rate 波特率 默认为
  • 生成测试数据的4种方法、5种工具介绍

    在软件测试中 测试数据是测试用例的基础 对测试结果的准确性和全面性有着至关重要的影响 因此 在进行软件测试时 需要生成测试数据以满足测试场景和要求 本文将介绍什么情况下需要生成测试数据 如何生成测试数据 以及一些常用的测试数据生成工具 1
  • mac Android studio3.2版本安装+环境搭建

    Android studio3 2安装 1 下载android studio 2 下载sdk manager 3 打开sdk manager 4 sdk manager需要设置代理才可以正常更新 mirrors zzu edu cn 80
  • Element-ui 表单的基础使用

    1 基本三大组件
  • 4-6 三部排序Java

    快排变体 极限思维 全部为0 必为p 一般的排序有许多经典算法 如快速排序 希尔排序等 但实际应用时 经常会或多或少有一些特殊的要求 我们没必要套用那些经典算法 可以根据实际情况建立更好的解法 比如 对一个整型数组中的数字进行分类排序 使得
  • 了解CommonJS模块化规范

    1 概述 Node应用由模块组成 采用CommonJS模块规范 每个文件就是一个模块 有自己的作用域 在一个文件里面定义的变量 函数 类 都是私有的 对其他文件不可见 example js var x 5 var addX function
  • 解决 ERROR: Could not find a version that satisfies the requirement torch==1.10.0+cu102

    前提 笔者的问题不是网络问题 python版本 3 10 本机CUDA版本 10 2 OS Windows10 问题 下载torch时报错 pip install torch 1 10 0 cu102 torchvision 0 11 0
  • 过早扩张、未经检验的技术,创业公司最易跳入哪些致命陷阱?

    对早期的软件初创公司 请注意避免这些工程错误 n 2016 年 我为一个初次创业者提供了技术咨询 帮助他建立一个种子基金资助的食品配送市场 在我看来 他这家公司做出的每一项技术选择都是错误的 n CEO 信奉 将权利赋予工程师 的理念 然后
  • 时序预测的七种方法-python3

    时序预测的七种方法 目录 数据读取和处理 安装库 方法 1 以简单的方式开始 方法2 简单平均数 方法3 移动平均数 方法 4 指数平滑法 方法5 Holt线性趋势法 方法6 Holt冬季季节法 方法7 综合自回归移动平均法 ARIMA 理
  • 计算机数值方法之线性方程组的迭代方法C语言

    题目 使用雅可比迭代法或高斯 赛德尔迭代法对下列方程组进行求解 高斯赛德尔和雅可比迭代法 笔算很好运用 写程序两者是互通的 include
  • IntelliJ IDEA优秀插件

    转自1 https www toutiao com a6539875490272903693 转自2 https blog csdn net sujun10 article details 72852939 grep console jav
  • 数组习题三

    目录 一 全排列 不含重复数字 1 题目 2思路图解 3 代码 二 有重复项数字的全排列 1 题目 2 思路图解 3 代码 三 求最长连续序列 要求时间复杂度为O N 1 题目 2 思路图解 3 代码 四 最长递增子序列 1 题目 2 思路
  • VMware虚拟机提示找不到vmnetbridge.dll

    找了很多文章多半是提示重新安装 有的说该文件在C WINDOWS inf目录下 然而我的不在该目录下 我的方法是先在本机中找找该文件在不在电脑中存在 使用工具是Everything 的确是有的 找到选择该目录就可以了噢 每个人电脑中可能是有
  • 查询IP地址可得到哪些信息

    通过IP地址定位 可以获取一些基本的信息 包括以下内容 1 地理位置 你可以确定IP地址所在的地理位置 包括国家 州或省 城市和地理坐标 这通常是通过将IP地址与地理位置数据库进行匹配来实现的 2 ISP 互联网服务提供商 信息 你可以了解
  • DVWA靶场通关教程

    目录 Burt Force 爆破 low medium high impossible Command Injection 命令执行 low medium high impossible CSRF 跨站请求攻击 low medium hig
  • NUC980开源项目21-开启网络连接

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • 小程序更换navigationBarBackgroundColor导航栏背景色

    阐述 有些项目并不想让小程序的导航的颜色是纯色的 想要更换颜色 那么就用到的 navigationBarBackgroundColor 这个参数 具体看下以下设置方法 设置导航栏颜色 有时候我们在单页面设置的 navigationBarBa
  • 数据库连接池原理之(一):通俗易懂的数据库连接池原理以及实现机制讲解

    本篇内容综合广大网友提供内容 笔者经过整理 对数据库连接池原理和实现过程做个很系统的并且通俗易懂的分析讲解 以及手写一个连接池实现过程作为演示 一 早期通过JDBC方式操作数据库 我们先来看早期使用JDBC的方式操作数据库的过程 这里以my
  • 迅速响应!国家互联网信息办公室发布关于《生成式人工智能服务管理办法(征求意见稿)》公开征求意见的通知

    4月11日 为促进生成式人工智能技术健康发展和规范应用 国家互联网信息办公室发布 生成式人工智能服务管理办法 征求意见稿 向社会公开征求意见 意见稿首先指出 国家支持人工智能算法 框架等基础技术的自主创新 推广应用 国际合作 鼓励优先采用安
  • BigDecimal 转字符串,并去掉尾部的0

    有一种写法 先转成Double BigDecimal target new BigDecimal 5375130 000000 BigDecimal valueOf Double parseDouble target toString to