Tri*_*ris 0 iphone variables double xcode objective-c
我猜这是最简单的事情,但这让我很困惑.我敢肯定我以前成功使用过双打,但现在我遇到了麻烦.
我刚刚做了一个新的'测试'项目,看看我是否可以使它工作,但我想要做的就是设置一个双倍值.
所以在View Controller的viewDidLoad我输入了:
double z = 2938.09;
NSLog(@"z = %d", z);
Run Code Online (Sandbox Code Playgroud)
我希望它输出'z = 2938.09',但我得到'z = 343597384'
double z = 3.4返回z = 858993459
此外,大多数整数值报告为z = 0,但并非总是如此(有时会发出如上所示的另一个奇怪数字)
我在这里遗漏了什么,或者有什么奇怪的事情发生?
甚至尝过类似的东西
NSString *newString = [[NSString alloc] initWithString:@"3.4"];
double z = [newString.text doubleValue];
NSLog(@"z = %d", z);
[newString release];
Run Code Online (Sandbox Code Playgroud)
但仍然得到疯狂的z = 858993459 :(
要打印Double值,请使用%f而不是%d.
NSlog格式说明符
%@对象
%d,%i签署了int
%u unsigned
%f float/double
%x,%X十六进制int
%八进制
%zu size_t
%p指针
%e float/double(科学计数法)
%g float/double(以%f或%e为单位,具体取决于值)
%s C字符串(字节)
%SC字符串(unichar)
%.*s Pascal字符串(需要两个参数,第一个传递pstr [0],第二个传递pstr + 1)
%c字符
%C unichar
%lld长
%llu unsigned long long
%Lf长双
| 归档时间: |
|
| 查看次数: |
7028 次 |
| 最近记录: |