Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标c-Xcode长整型显示,带格式_Objective C_Xcode_Long Integer_Nsnumberformatter - Fatal编程技术网

Objective c 目标c-Xcode长整型显示,带格式

Objective c 目标c-Xcode长整型显示,带格式,objective-c,xcode,long-integer,nsnumberformatter,Objective C,Xcode,Long Integer,Nsnumberformatter,当数字很大的时候,我就有问题了。例如,如果数字是367000000,我希望标签是367000000。当数字较大时,它给我的值为2147483657。我相信这一定是一个长度可变的问题。我尝试为numC使用long-long int。如有任何建议,将不胜感激。谢谢 int numC; NSNumberFormatter *formatter = [NSNumberFormatter new]; [formatter setNumberStyle:NSNumberFormatterDecimalSty

当数字很大的时候,我就有问题了。例如,如果数字是367000000,我希望标签是367000000。当数字较大时,它给我的值为2147483657。我相信这一定是一个长度可变的问题。我尝试为numC使用long-long int。如有任何建议,将不胜感激。谢谢

int numC;
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *valuestring= [NSString stringWithFormat:@"%@", [[values objectAtIndex:indexA] objectForKey:@"hits"]];
numC=[valuestring intValue];


NSString *results = [formatter stringFromNumber:[NSNumber numberWithInteger:numC]];    
label1.text =results;

int
类型不能包含大于2147483657的值。可以使用无符号整数,最大值为4294967295。查看更多信息。您也可以尝试此操作来扩展数据类型的范围:

long long int numC;

//Number formatter and string operations

numC = [valuestring longLongValue];

NSString *results = [formatter stringFromNumber:[NSNumber numberWithLongLong: numC]];    
label1.text = results;
此外,如果正在检索的值中没有一个包含负值,则可以将其设置为
无符号长整型。在这种情况下,请将代码设置为:

unsigned long long int numC;

//Number formatter and string operations

numC = [valuestring longLongValue];

NSString *results = [formatter stringFromNumber:[NSNumber numberWithUnsignedLongLong: numC]];    
label1.text = results;
还要确保在这一行中

 NSString *valuestring= [NSString stringWithFormat:@"%@", [[values objectAtIndex:indexA] objectForKey:@"hits"]];
…您正在检索的值是一个
long int


希望这有帮助

> P>也有C++类的<代码> BigTigue<代码>,如果您确实需要做的操作比“代码> int 允许的数字大。如果不需要执行很多操作,请将数字存储为NSString。然后处理它,只需取字符串的末尾,将其转换为
int
,进行运算,然后将数字放回字符串。

我只想比较哪个更大。我想我会使用long-long-int,如果它更大,我会用不同的方法来处理它。当然。尽管为了比较,您实际上只需要从数字字符串的开头(最高值结尾)开始,然后向下迭代,直到找到差异为止。那么,无论哪个数字较高,都属于较大的数字。