如何获取double类型数据的小数点部分

[复制链接]
查看11 | 回复6 | 2021-1-27 06:49:21 | 显示全部楼层 |阅读模式
怎么获取double类型数据的小数部分,
目前我知道的一种是直接使用字符串的形式,
哪位大神讲解一下使用double类型计算得到小数部分的方法啊?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
可以先取整,然后用它减去整数即可
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
可以取模1,但是有些情况会不准确
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
找到方法:
方法一:直接转stringsplit“.”,然后直接取小数部分
方法二:直接上代码
if(double==(long)double){
return0;
}
inti=0;
while(true){
i++;
if(double*Math.pow(10,i)%1==0){
returni;
}
}
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
我写了个实体类,用来封装小数,得到他的整数部分和小数部分,到时候再用bigDecimal传入小数的字符串就行了
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
楼上,方便贴一下代码?
回复

使用道具 举报

千问 | 2021-1-27 06:49:21 | 显示全部楼层
doubled=1.23234;
inti=(int)d;
doubleresult=d-(double)i;
将double数值强转成int,然后用double的值减去int的值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行