joh*_*ohn 72 int objective-c nsstring
我想尝试从int转换为字符串,但我遇到了麻烦.我通过调试器跟踪执行,字符串'myT'得到'sum'的值,但如果'sum'是10,11,12则'if'语句不能正常工作.我不应该使用原始int类型来存储数字吗?此外,我尝试的两种方法(参见注释掉的代码)都无法遵循'if'语句的真实路径.谢谢!
int x = [my1 intValue];
int y = [my2 intValue];
int sum = x+y;
//myT = [NSString stringWithFormat:@"%d", sum];
myT = [[NSNumber numberWithInt:sum] stringValue];
if(myT==@"10" || myT==@"11" || myT==@"12")
action = @"numGreaterThanNine";
Run Code Online (Sandbox Code Playgroud)
Sco*_*ott 167
如果您只需要按照建议对字符串使用int,我发现最简单的方法是执行如下操作:
[NSString stringWithFormat:@"%d",numberYouAreTryingToConvert]
Run Code Online (Sandbox Code Playgroud)
Rob*_*ert 159
你可以使用文字,它更紧凑.
NSString* myString = [@(17) stringValue];
Run Code Online (Sandbox Code Playgroud)
(框作为NSNumber并使用其stringValue方法)
gra*_*rks 32
注释掉的版本是更正确的方法.
如果==
在字符串上使用运算符,则需要比较字符串的地址(它们在内存中分配的位置)而不是字符串的值.这非常偶然有用(它表示你有完全相同的字符串对象),但99%的时间你想要比较值,你喜欢这样:
if([myT isEqualToString:@"10"] || [myT isEqualToString:@"11"] || [myT isEqualToString:@"12"])
Run Code Online (Sandbox Code Playgroud)
int val1 = [textBox1.text integerValue];
int val2 = [textBox2.text integerValue];
int resultValue = val1 * val2;
textBox3.text = [NSString stringWithFormat: @"%d", resultValue];
Run Code Online (Sandbox Code Playgroud)
只需转换int
为NSString
使用:
int x=10;
NSString *strX=[NSString stringWithFormat:@"%d",x];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
197111 次 |
最近记录: |