誰能解釋一下下面這個現象:(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 關注
- 574 瀏覽
添加回答
舉報
0/150
提交
取消