sud*_*-rf 6 iphone numbers objective-c
这里很简单的问题.我有一个双重,我希望转换回NSInteger,截断到单位的地方.我该怎么办?
Jon*_*pan 15
截断是一种隐式转换:
NSInteger theInteger = theDouble;
Run Code Online (Sandbox Code Playgroud)
假设您没有检查该值是否在NSInteger的范围内.如果你想这样做,你将不得不添加一些分支:
NSInteger theInteger = 0;
if (theDouble > NSIntegerMax) {
// ...
} else if (theDouble < NSIntegerMin) {
// ...
} else {
theInteger = theDouble;
}
Run Code Online (Sandbox Code Playgroud)
NSInteger 是 C 类型的 typedef。所以你可以这样做:
double originalNumber;
NSInteger integerNumber = (NSInteger)originalNumber;
Run Code Online (Sandbox Code Playgroud)
根据 C 规范,这将截断originalNumber。
| 归档时间: |
|
| 查看次数: |
9859 次 |
| 最近记录: |