永发信息网

C#里 float f = (float)(1.0/ 3.0);f的值为什么是0.333333343?

答案:2  悬赏:60  手机版
解决时间 2021-11-27 20:20
  • 提问者网友:鐵馬踏冰河
  • 2021-11-27 12:19
C#里 float f = (float)(1.0/ 3.0);f的值为什么是0.333333343?
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-11-27 13:13
因为f被定义为浮点型,被赋值过来的数为0.33333333333333333333无限个3,但是浮点型有效值保留到八位,所以在第八位就保留完了,第九位是个随机数,只是占位表示该位是个估算的自由值.
全部回答
  • 1楼网友:洒脱疯子
  • 2021-11-27 14:39
float f = (float)(1.0/ 3.0);
这里用(float)进行了强制转型,转型为float类型的(浮点数).该类型有效小数位为八位,所以就会出现这种情况
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯