2013-06-03 69 views
0

我想傳遞一個參數來決定應該有多少價值來小數點後像下面是否有可能得到一個具有未知小數點的浮點值?

int decimalpoint=2; 
NSString *[email protected]".2"; 
NSString *[email protected]"2"; 
CGFloat floatvalue=4.256345; 

NSlog(@"Req floatvalue= %%df",decimalpoint,floatvalue); 
output should be: Req floatvalue= 4.25 

or 

NSlog(@"Req floatvalue= %%@f",deciPnt,floatvalue); 
output should be: Req floatvalue= 4.25 

or 

NSlog(@"Req floatvalue= %%@f",deciPnts,floatvalue); 
output should be: Req floatvalue= 4.25 

我想這不會爲我工作.. 我知道這將可能通過NSLog(@"Req floatvalue= %.2f",floatvalue);

請分享你的想法,我希望他們會幫助我... ...

+0

爲什麼有這麼多的問號? – 2013-06-03 10:59:22

+0

你是什麼意思「通過傳遞兩個參數來獲得一個浮點值?」? – 2013-06-03 10:59:45

+0

浮動不是對象,並且不存在「執行NSLog()的Objective-C方式」。只要堅持與C,它不會吃你(雖然,惡魔會飛出你的鼻子) – CodaFi

回答

4

我不得不考慮這個問題很多...不知道這是你想要的,但你可以使用變量 - 精確轉換說明符,*

NSLog(@"%.*f", 2, 2.44793); 

(注意,這是POSIX與printf()工作爲好。)

+0

..它使用* ...而不是變精度轉換說明符*,我需要傳遞int值或字符串值來指定小數點數。我明白這是不可能的...感謝您的意見... –

+1

@GR。然後使用你的'int'變量而不是常量'2'並**開發一些常識。** NSLog(@「%。* f」,numDecPlaces,2.44793);'工作得很好,不是那麼明顯? (如果不是,那麼回去,正確地學習C,直到那時你纔敢開始使用Objective-C。) – 2013-06-03 11:32:12

相關問題