一次dnspy调试的时候,一个float的值表示位 2.09702E+9(实际是2097024256.0),显示在界面上是2097024000.
通过查看内存值,发现原来是ToDecimal 导致了精度缺失.
float value1 = 2097024253.0f;
decimal value2 = Convert.ToDecimal(value1);
结果:2097024000
一次dnspy调试的时候,一个float的值表示位 2.09702E+9(实际是2097024256.0),显示在界面上是2097024000.
通过查看内存值,发现原来是ToDecimal 导致了精度缺失.
float value1 = 2097024253.0f;
decimal value2 = Convert.ToDecimal(value1);
结果:2097024000