数字反转问题,为什么输入的314.2,输出的是1.413而不是2.413

img


数字反转问题,为什么输入的314.2,输出的是1.413而不是2.413

因为314.2实际在内存里可能是314.1999998,导致截尾后当做314.1处理了
修改为:
i = (a-(int)a)*10 + 0.5;

将i定义成double类型,不要使用int