C编程 - 输出小数结果

时间:2014-03-07 12:21:32

标签: c

在momemt,我正在学习C和语言的基础知识,但我的代码有问题。当我乘以两个数字时,我无法得到小数,即使我浮动我输入的数字。

我的代码:

int main()
{
    double result_met, km;

    result_met = km = 0.0f;

    /*Display text*/
    printf("Enter values of the distance between the two cities in km's\n");
    scanf_s("%d", &km);

    /*Formular for a simple km conversion*/
    result_met = km * 1000.0f;

    /*Result print*/
    printf("Meter:%d", result_met);

    printf("\nWaiting for a character to be pressed from the keyboard to exit.\n");

    getch();

    return 0;
} 

2 个答案:

答案 0 :(得分:2)

格式说明符不正确 - %lf - %d适用于int

scanf_s("%lf", &km);

/*Formular for a simple km conversion*/
result_met = km * 1000.0f;

/*Result print*/
printf("Meter:%lf", result_met);

Format string specifications

答案 1 :(得分:1)

double的格式说明符是%lf,而不是%d 您也可以使用float而不是double,它可以节省内存(这在您开始编写大型程序时非常重要),然后您必须使用格式说明符%f%lf中的“l”表示“长”,因为doublelong float

当处理小数时,你想在屏幕上只打印几个小数(以避免打印“2.50000001”),那么你可以使用格式说明符%.3f如果你想要3和只有3位数打印(3可以是任何整数)。

例如,以下代码:

printf("%.2f\n",3.1415);

具有以下输出:

3.14

printf函数有许多不同的格式说明符,非常有用。 如果您想了解更多信息,请查看cpluplus.com reference