- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
NSDecimalNumber 类型的 ceilf 和 Floorf 是否有等效方法?我好像没找到。
最佳答案
简单的解决方案:您可以获取数字对象的浮点值并调用ceilf()
或floorf()
:
ceilf([decimalNumber floatValue]);
否则,您可以使用-decimalNumberByRoundingAccordingToBehavior:
方法。
首先,您需要为要使用的每种舍入模式实现 NSDecimalNumberBehaviors
协议(protocol):
@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
关于cocoa - NSDecimalNumber 的 ceilf 和 Floorf 等效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2787724/
我正在尝试“制作”一个程序,但却面临这些错误;我使用了 make -lm 甚至 #include 但我仍然面临同样的问题。我尝试在 Ubuntu 和 Debian 上安装该应用程序,只是为了确保消除对
简单的问题。我正在将以前由其他人编写的代码导入到 Eclipse 中。我收到错误: "undefined reference to `ceilf'" 当我使用 ceilf 时。在我看来,ceilf 应
我正在尝试做这样的事情 var myCGFloat: CGFloat = 3.001 ceilf(myCGFloat) 但是 ceilf 只接受 Float 值。在四处搜索时,有很多关于进行这种转换或
NSDecimalNumber 类型的 ceilf 和 Floorf 是否有等效方法?我好像没找到。 最佳答案 简单的解决方案:您可以获取数字对象的浮点值并调用ceilf()或floorf(): ce
我是一名优秀的程序员,十分优秀!