2013-07-12 50 views
1
#include <stdio.h> 
int main(){ 
    float var = 0.612; 
    printf("%f\n",var); 
    printf("%f\n",var*100); 
    return 0; 
} 

O/P乘法在C

0.612000 
61.199997 

我發現爲JavaScript,我們有.tofixed()方法。

我們如何在C中獲得修復?

回答

8

打印時可以指定精度:

printf("%.3f\n", 100 * var); 

既然你有可能在float本身不能表示確切的數字,沒有任何操作,您可以在數字本身以「做刪除「小數點,這都是您選擇呈現數據的方式。

+1

好的,但如果我們用'double'替換'float',錯誤可能會縮小。 – glglgl

+0

@unwind 如果我把 - .6f 它不顯示 61.200000 – phoenix

+0

@phoenix正如你在輸出'.6f'不應該顯示'61.200000'那原因在回答'.3f',決定出你精確的地方,另外考慮glglgl的建議。 –