社区
Java SE
帖子详情
BigDecimal型数据右补零的问题!
adi1130
2006-12-21 01:40:22
BigDecimal aa = 0.02/0.5;
结果:aa = 0.04
数据库中的字段长度10,其中有4位小数.
我相得到以下结果:aa = 0.0400
请问有什么简便的方法码?谢谢!
...全文
1831
3
打赏
收藏
BigDecimal型数据右补零的问题!
BigDecimal aa = 0.02/0.5; 结果:aa = 0.04 数据库中的字段长度10,其中有4位小数. 我相得到以下结果:aa = 0.0400 请问有什么简便的方法码?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adi1130
2006-12-21
打赏
举报
回复
搞定了,刚才理解有点错误。。。。
DecimalFormat df = new DecimalFormat("000000000000000.0000");
正确的是:DecimalFormat df = new DecimalFormat("0.0000");
谢谢1楼的回复^^
adi1130
2006-12-21
打赏
举报
回复
1
0000000000002928.8100
晕啊。后面的零到是+上了,可是前面的零怎么去掉啊。。。。
fool_leave
2006-12-21
打赏
举报
回复
BigDecimal aa = new BigDecimal(0.02/0.5);
DecimalFormat df=new DecimalFormat("0.0000");
System.out.println(df.format(aa));
BigDecimal
保留n位小数,小数位不足补0
使用SpringCloudAlibaba+Vue(ant-design)进行项目开发,一个
BigDecimal
类
型
的数,要求保留5位小数。 1、格式化
数据
BigDecimal
对象格式化可以使用DecimalFormat对象,首先看一下如何解决上述
问题
public class
BigDecimal
Test { public static void main(String[] args) { //有两个decimal对象
BigDecimal
decimal = .
Json传输
BigDecimal
类
型
数据
时候丢失无用0解决方案
前言 在公司某次订单上区块链时候通过http形式传输
数据
到区块链中心,
数据
是以Json字符串形式传输,但是区块链中心接收到的
数据
(
BigDecimal
类
型
)丢失了无用的0,导致两边签名校验一直失败。记录该痛点,毕竟当时定位
问题
就花了近一天时间,比如0.000000
数据
通过json格式http传输到对方那边就变成了0;100.0000500000,则变成了100.00005。 解决分析 解决方式两个思路: 要么在传输前将
BigDecimal
转换成String类
型
的
数据
,因为双引号包裹住的
数据
一定不会被转换舍
BigDecimal
转为String类
型
、int类
型
我们可以看到,这里拿到的是一个
BigDecimal
类
型
的
数据
, 1.
BigDecimal
类
型
转化为String类
型
的
数据
// 这里呢,在industryUseRecordEntity这个对象里面, // SumSourceNum这个属性存储的
数据
就是
BigDecimal
类
型
的
数据
, valueList.add(industryUseRecordEntity.getSumSourceNum()); 我们只需要在对象前面加上String.format("%.0f,) // %0.f意思就是小数点后面保留0.
【深入浅出】JAVA中使用
BigDecimal
类解决精度丢失
问题
JAVA中使用
BigDecimal
类解决精度丢失
问题
问题
我们在使用JAVA语言的时候,会发现普通
数据
类
型
间转化计算存在精度丢失的
问题
精度丢失
问题
: 如 : 1.2- 1=0.19999999999999996 int(31)转float(2)会造成精度丢失 long转化位double也会损失精度。 这时候可以使用Java中
BigDecimal
类来处理高精度计算 定义介绍: 它是在java.math包中的一个API类,我们都知道Java中double类
型
它可以处理16
JAVA中 去除
BigDecimal
末尾多余的0
数据
库中的
BigDecimal
数据
类
型
,若有制定精度,比如指定精度为4位,如果
数据
为0.1,则用java程序读出来的
数据
则为0.1000, 那么如何对
数据
进行处理?可以使
数据
显示0.1。
BigDecimal
中有一个方法 stripTrailingZeros() 就是专门用于处理多余的0。
BigDecimal
a=new
BigDecimal
("0.10000"); System...
Java SE
62,610
社区成员
307,332
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章