为了账号安全,请及时绑定邮箱和手机立即绑定

一个浮点数精度问题,呼唤达人

一个浮点数精度问题,呼唤达人

海绵宝宝撒 2018-09-14 08:06:14
谁能解释一下下面这个现象:(double)(float)0.60.60000002384185791(double)0.6f0.60000002384185791(double)(6/10f)0.6(double)(float)(6/10f)0.66/10f 明明是个float,为什么转换成double后和0.6f转成double的结果不一样?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

楼主是否可以把源码帖出,我测试了一下:

   class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine((double)(float)(6/10f));
        }
    }

运行结果为:0.600000023841858。你需要查一下double精度的有效位。


查看完整回答
反对 回复 2018-09-19
  • 2 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信