2010-01-10 101 views
0

我正在使用下面的代碼來創建一個數字。確定C中雙精度型變量的長度

NSString *userNameOne = txtUserName.text; 
double numOne = [userNameOne intValue]; 

double agedecade = numOne/10; 
double betaage = 0.23260; 
double meanage = 5.64301; 
double one_age = agedecade - meanage; 
double age_final_var = one_age * betaage; 

如果用戶輸入55到numOne變量,答案將是-.033264使用上述程序。

但是,如果我在計算器上做同樣的事情,我會得到-.033264126。我想將額外的三位數字加入我的程序中。我如何將缺少的三位數字(... 126)放入我的程序中?

** 我碰巧在iPhone應用程序中使用此代碼,並說這可以改變這種情況。

+0

「答案」可能取決於您打印的方式。提高打印精度,您將看到更多數字。 –

+0

您正在使用Objective-C,而不是純C,並且您在縮進時失敗。請在提問時更加小心,這些細節讓其他人更容易爲您提供有用的答案。 – avakar

+0

你在談論代碼縮進嗎? – HollerTrain

回答

3

您的問題不在雙變量中,而是以您打印它的方式。看看打印它的函數,並找到一種方法來增加小數點後的數字量。

另外,這是一個錯字,還是你有intValue而不是doubleValue? :>

+0

是的,我問了同樣的時間,因爲我問了另一個關於doubleValue的問題。我的數據仍然會保存爲長整數小數點嗎? – HollerTrain

0
[NSString stringWithFormat:@"%.15g", age_final_var];