iOS中NSDecimalNumber类的一个BUG

我的编程环境是XCode 11.5。

今天在测试秒表代码的时候偶然发现秒表计数会是负值,由此进行了下面的一番探索。

为了精确,秒表走过的秒数用Decimal类型:

@Published var elapsedSeconds_exactly: Decimal = 0.0

在实际使用时需要将其转换为整数类型,由于Decimal没有直接的方法转换为整数,所以我用的是如下的迂回战术:

NSDecimalNumber(decimal: elapsedSeconds_exactly).intValue

前面提到秒表会显示负数的秒数,所以马上下断点,发现elapsedSeconds_exactly的值如下(正数86.457302045822143488):

大熊猫侯佩 CSDN认证博客专家 Swift Objective-C Xcode
非自由程序员,CSDN博客认证专家。
CSDN汇编板块版主, CSDN其他开发语言大版版主。

对App、以及Cocos2D、SpriteKit游戏开饶有兴趣。目前常用的语言是ObjC、Swift、Ruby等。不过看到编程艺术、ASM、逆向和C时依然欲罢不能。虽然不是,但喜欢黑客的思维和哲学,认为社会工程学很酷,但还没有实际用来撩过妹。
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值