Why do I see a double variable initialized to some value like 21.4 as 21.399999618530273?

前端 未结 14 2028
名媛妹妹
名媛妹妹 2020-11-21 23:41
double r = 11.631;
double theta = 21.4;

In the debugger, these are shown as 11.631000000000000

14条回答
  •  逝去的感伤
    2020-11-21 23:56

    Seems to me that 21.399999618530273 is the single precision (float) representation of 21.4. Looks like the debugger is casting down from double to float somewhere.

提交回复
热议问题