我的目的是圓一個值,但它給出錯誤的輸出用10除以給出錯誤的精度
float travellingEmptyDist = 2.05;
travellingEmptyDist = round(travellingEmptyDist * 10); // gives value 21.0
travellingEmptyDist = travellingEmptyDist/ 10.0; // gives wrong value 2.09999, expecting 2.1
有什麼辦法來糾正它
*嘆* * http://floating-point-gui.de/ – IdeaHat
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html –
有人應該至少指出儘管他的源代碼說了什麼,「travellingEmptyDist」並不是2.05。 –