ceilf()
或
floorf()
:
ceilf([decimalNumber floatValue]);
否则,您可以使用
â decimalNumberByRoundingAccordingToBehavior:
首先,您需要实现
NSDecimalNumberBehaviors
@interface DecimalRounder : NSObject <NSDecimalNumberBehaviors> { }
@end
@implementation DecimalRounder
- (NSRoundingMode)roundingMode {
return NSRoundUp;
}
- (short)scale {
return 0;
}
@end
然后(假设十进制数是12.5):
DecimalRounder *rounder = [[DecimalRounder alloc] init];
NSDecimalNumber *decimalNumber = [[NSDecimalNumber alloc] initWithFloat:12.5];
NSDecimalNumber *roundedNumber = [decimalNumber decimalNumberByRoundingAccordingToBehavior:rounder];
NSLog(@"decimalNumber: %@", decimalNumber);
NSLog(@"roundedNumber: %@", roundedNumber);
您将得到:
decimalNumber: 12.5
roundedNumber: 13