社区
Java SE
帖子详情
【奇怪】BigDecimal转float变小了!
WhereIsMyGirl
2006-08-31 02:49:18
BigDecimal dec = new BigDecimal("286978.95");
System.out.println(dec);
System.out.println(dec.floatValue());
结果:
286978.95
286978.94
请问怎么回事?
...全文
215
2
打赏
收藏
【奇怪】BigDecimal转float变小了!
BigDecimal dec = new BigDecimal("286978.95"); System.out.println(dec); System.out.println(dec.floatValue()); 结果: 286978.95 286978.94 请问怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyingghost
2006-08-31
打赏
举报
回复
浮点数的内部表示方式导致。
浮点数造出来本来就只是表示“一定精度内”的实数。
奇伢
2006-08-31
打赏
举报
回复
正常....
浮点数的运算,你搜索下相关的文章.....
Java常用API
本课程是《零基础学Java》课程的第六阶段课程,课程内容详实、细致,讲解通俗易懂!...基本类型包装类(Integer,Character) 5.Math类/Random类/System类 6.BigInteger类/
BigDecimal
类 7.Date类/DateFormat类/Calendar类
Java使用
Bigdecimal
的
float
和double精确计算的精度误差问题总结
1、
float
整数计算误差 案例:会员积分字段采用
float
类型,导致计算会员积分时,7位整数的数据计算结果出现误差。 原因:超出
float
精度范围,无法精确计算。
float
和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
float
:2^23 = 8388608,一共七位,这意味...
Java的double和
float
类型计算丢失精度问题,
bigdecimal
用法
float
和double做四则运算误差 public static void main( String[] args ) { System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); } //输出 0.0600000
Java浮点数
float
,
bigdecimal
和double精确计算的精度误差问题总结
-- Java中double类型比较大小或相等的方法- https://blog.csdn.net/liuweiyuxiang/article/details/71104712 在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以。
float
的指数范围为-127~+128,而do...
bigdecimal
正确用法_Java
BigDecimal
使用 | 学步园
虽然几乎每种处理器和java.math.
BigDecimal
所提供的任意精度的小数 ― 大多数应用程序不使用它们。然而,在以整数为主的程序中有时确实会出人意料地需要表示非整型数据。例如,JDBC 使用
BigDecimal
作为 SQLDECIMAL列的首选互换格式。Java 语言支持两种基本的浮点类型:
float
和 double ,以及与它们对应的包装类
Float
和 Double 。它们...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章