2012-10-09 57 views
0
long double ans = fact(n); 
fprintf(out,"%lg",ans); 

什麼是最好的(和最短的變體)打印長雙號後沒有數字點? 我不知道。格式化標誌%lg不能用於此任務,我應該打印完整的數字。點後打印雙號無數字

//對不起我的英文不好,我希望你明白的主要想法..

+0

使用fprintf(out,「%n.0lg」,ans); n可以是任何數字。 – MarsRover

回答

0

printf ("%.0lg", var)使用小數點後打印long double變量var沒有數字。

+0

這會對數字進行四捨五入。例如,'5.85'將變成'6','5.35'變成'5'。不知道這是OP所需要的,而不是''兩種情況。 –

+0

是的,它的工作原理,謝謝! –

+0

@KingsIndian:如果你想要截斷,你總是可以首先減去0.5。 –

0

如果不想要小數部分,如何將它打印爲int(或long)? :

fprintf(out,"%d",(int)ans);