如果num在C中没有小数点后面的数字,则浮点到int

时间:2016-03-24 08:53:58

标签: c

我应该如何打印一个浮点数,好像它没有小数点后面的数字,例如11.00应打印为11,但11.45应保持不变。问题是一些if语句可能。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我想到的第一个解决方案是施放。 这就是我要做的。 让我们说你的变量是" a",你要打印。

(nth 1 spec)

答案 1 :(得分:0)

这是我的解决方案:

#include <stdio.h>

void printDouble(double fp);

int main(void)
{
    printDouble(11.0);
    printDouble(11.45);
}

void printDouble(double fp)
{
    double _fp;
    char buffer[40];
    int i = 0;
    do{
        sprintf(buffer, "%.*lf", i, fp);
        sscanf(buffer, "%lf", &_fp);
        i++;
    } while(fp != _fp);
    puts(buffer);
}

输出:

11
11.45

也许这有点效率低下,但确实有效。无论如何,您不需要经常打印浮点数。