永发信息网

C#中为什么 double a=81.91;float b = 81.91f ;a和b不相等

答案:1  悬赏:70  手机版
解决时间 2021-11-28 09:07
  • 提问者网友:皆是孤独
  • 2021-11-27 09:04
C#中为什么 double a=81.91;float b = 81.91f ;a和b不相等
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-11-27 09:58
首先double和float的位数不同导致精度不同,虽然你定义的时候赋值都是81.91,但是由于计算机内部浮点数表示是有精度限制的,所以实际不一定就是准确的81.91,导致直接用==这样的运算符比较不一定相等,所以一般来说比较浮点数是否相等要用abs(a-b)<1e-5这样的方式
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯