2010-01-10 59 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];