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类型的(浮点数).该类型有效小数位为八位,所以就会出现这种情况
这里用(float)进行了强制转型,转型为float类型的(浮点数).该类型有效小数位为八位,所以就会出现这种情况
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯