為什么float類型總是算出來是近似值?
#include<stdio.h>
//計(jì)算正常里程價(jià)格
double fDistance(float n)? ??
{
double u = 2.3;
double p = 0.0;
if (n <= 3.0 && n > 0.0)? ? ?//里程合法性
{
return 13.0;
}
else if (n > 3.0)
{
p = u * (n-3.0) + 13.0;? ? ? //加上基礎(chǔ)13元,減去3km基礎(chǔ)里程
return p;
}
else? ? ?
{
printf("里程數(shù)據(jù)錯(cuò)誤\n");
return 0.0;
}
}
//計(jì)算時(shí)間段價(jià)格增加部分
double fTime(float t)
{
if (t < 23.0 && t >= 5.0)
{
return 1.0;
}
else if(t<24.0 && t>0.0)? ? ?//時(shí)間合法性
{
printf("時(shí)間數(shù)據(jù)錯(cuò)誤\n");
return 0.0;
}
else
{
return 1.2;
}
}
int main()
{
double Total1 = 0.0;
double Total2 = 0.0;
Total1 = fDistance(12.0) * fTime(9.0)+1.0; //加額外的燃油附加費(fèi)
Total2 = fDistance(12.0) * fTime(18.0)+1.0;
printf("小明每天打車費(fèi)用總計(jì):%lf 元",Total1+Total2);
return 0;
}
2024-06-06
float是浮點(diǎn)數(shù),秒了