谁能解释一下下面这个现象:(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精度的有效位。
- 2 回答
- 0 关注
- 547 浏览
添加回答
举报
0/150
提交
取消