这里的问题很简单。我有一个双胞胎,我希望将其转换回NSInteger,将其截断到单位位置。我该怎么做?

最佳答案

截断是一个隐式转换:

NSInteger theInteger = theDouble;

假设您没有检查该值是否在NSInteger的范围内。如果要这样做,则必须添加一些分支:
NSInteger theInteger = 0;
if (theDouble > NSIntegerMax) {
    // ...
} else if (theDouble < NSIntegerMin) {
    // ...
} else {
    theInteger = theDouble;
}

10-06 12:24