use*_*474 2 random objective-c ios
我试过这个:
NSInteger numberFinal = 100000000000000000 + ((float)arc4random() / UINT32_MAX) * (999999999999999999 - 100000000000000000);
Run Code Online (Sandbox Code Playgroud)
但它返回零...我不想指定范围,但只想要任何18位数的数字......
对于您的要求,正如@duDE所提到的,您不能使用a NSInteger
来保存18位数字,但有一个解决方案使用NSString
.
NSString *eighteenDigitNumberString = [[NSNumber numberWithInt:1 + arc4random_uniform(9)] stringValue];
for (int i = 0; i < 17; i++) {
eighteenDigitNumberString = [eighteenDigitNumberString stringByAppendingString:[[NSNumber numberWithInt:arc4random_uniform(10)] stringValue]];
}
NSLog(@"eighteenDigitNumberString : %@", eighteenDigitNumberString);
Run Code Online (Sandbox Code Playgroud)
我们去,没有必要解释一切都是直截了当的.
编辑:如果你真的想要很长的价值,你可以这样做:
long long eighteenDigitNumberLongLong = [eighteenDigitNumberString longLongValue];
Run Code Online (Sandbox Code Playgroud)
编辑:为了避免前导0,初始字符串已使用非零数字启动,并且循环仅运行17次.
归档时间: |
|
查看次数: |
682 次 |
最近记录: |