论坛首页 Java企业应用论坛

为神马 1.0 - 0.7 != 0.3 ???

浏览 17099 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-01-23  
这不是语言的问题,这是计算机cpu最终采用2进制的问题。
0 请登录后投票
   发表时间:2011-01-23  
没仔细看,貌似有点明了
0 请登录后投票
   发表时间:2011-01-23  
推荐《深入理解计算机系统》。里面对这个浮点数问题讲的很详细。浮点数不能比较等于。
0 请登录后投票
   发表时间:2011-01-24  
float doule都不能用于加减乘除运算,会得到一些奇怪的结果.,用BigDecimal
0 请登录后投票
   发表时间:2011-01-24  
steafler 写道
浮点数不是这样比较的

是的, double类型不能这么进行比较。应该是数据的精度问题。
0 请登录后投票
   发表时间:2011-01-24  
浮点 是不精确的 这样比较肯定是有问题的,一般是把两个比较的数字相减 然后如果其结果值在某个范围内则认为这两个数字是相等的
0 请登录后投票
   发表时间:2011-01-24  
原来如此!真的受教了!

一直都是用BigDamiel(String)
0 请登录后投票
   发表时间:2011-01-24  
金融运算的常识。
0 请登录后投票
   发表时间:2011-01-24  
看来大家都不屑于这类“基础”的问题啊。。。不知道有多少人实际用的时候出现问题,却不知道答案
0 请登录后投票
   发表时间:2011-01-24  
tedeyang 写道
金融运算的常识。




0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics