為什么結(jié)果為69.400002 最后的2是怎么來的
#include <stdio.h>
float CostComputer(int time ,int distance);
int main()
{
? ?float Sum_day=0;
? ? Sum_day=CostComputer(9,12)+CostComputer(18,12);
? ? printf("小明每天打車的總費(fèi)用為%f",Sum_day);
? ? return 0;
}
float CostComputer(int time ,int distance)
{
? ? float price=2.3;
? ? float Sum=0;
? ? if(time>=23||time<5)
? ? ? price=1.2*price;
? ? if(distance<=3)
? ? ? ?Sum=13+1;
? ? else
? ? ? ?Sum=13+(distance-3)*2.3+1;
? ? return Sum;
}
2016-06-25
因?yàn)楦↑c(diǎn)數(shù)并不能完全精確的表示數(shù)據(jù),并不能像真正算術(shù)那樣得出最準(zhǔn)確的數(shù)據(jù),只能在很大程度上接近真實(shí)結(jié)果
2016-06-25
將float改為double就好了
2016-06-25
?printf("小明每天打車的總費(fèi)用為%f",Sum_day);
將此行代碼改為?printf("小明每天打車的總費(fèi)用為%.5f",Sum_day); 可以將小數(shù)點(diǎn)最后一位的2省去