2014-02-27 69 views
-1

我想用C小數點後打印出與用戶定義的精度浮點數,就好說了,是否可以在C中的小數點後用用戶定義的精度打印浮點數?

int dec; 
float no; 
printf("\nEnter no of decimal places and the number "); 
scanf("%d%f",&dec,&no); 

然後打印數量nodec小數。

+1

爲什麼發佈這個問題,如果你知道答案? –

+1

@ChrisDodd:http://meta.stackexchange.com/a/132887 –

回答

0

int dec; 
float no; 
printf("\nEnter no of decimal places and the number "); 
scanf("%d%f",&dec,&no); 
printf("%.*f",dec,no); 
1

您可以格式化浮點數的印刷,而不是它的實際大小。

您可以在格式化浮點數上閱讀this

爲了節省您的時間,你可以使用%F格式說明,作爲

printf("%.PRECISIONf", fvar); 

其中PRECISION是你小數點後需要的位數,例如爲

int 
print_float(float fvar, unsigned int precision) { 
    char fs[32]; 
    sprintf(fs,"%%.%df", precision); 
    return printf(fs, fvar); 
} 

在調用程序:

print_float(2.0f, 2); 

您將得到2.00的輸出。

希望這可以解決您的問題。

+0

我確實使用'printf(「%。* f」,dec,no)格式化了想要打印的數字的小數位數。 'dec'存儲要打印的小數位數。 – nsane

+0

@ nisargshah95你有什麼需要嗎?我已經更新了答案。 – akm

+0

是的。我發佈它作爲答案。 – nsane