Ios 四舍五入

Ios 四舍五入,ios,swift,Ios,Swift,在Swift语言中,银行家四舍五入的公式是什么 例如:134.5675变为134,135.5345变为136 到目前为止,我已经尝试过这样的方法: extension Double { func roundHalfToEven() -> Double { return round(self * 100) / 100 } } 但它远不能返回我需要的结果。删除乘和除100。然后使用lrint(而不是round),将输入四舍五入到最接近的整数。删除乘和除100。

在Swift语言中,银行家四舍五入的公式是什么

例如:134.5675变为134,135.5345变为136

到目前为止,我已经尝试过这样的方法:

extension Double {
    func roundHalfToEven() -> Double {
        return round(self * 100) / 100
    }
}

但它远不能返回我需要的结果。

删除乘和除100。然后使用
lrint
(而不是
round
),将输入四舍五入到最接近的整数。

删除乘和除100。然后使用
lrint
(而不是
round
),将输入四舍五入到最接近的整数。

检查此项检查此项检查。四舍五入应为“四舍五入半偶数”,与四舍五入到最接近的整数不同integer@aeropapa17也许我说的有点让人困惑,但事实是,
lrint
根据当前舍入模式返回最接近的整数,默认情况下是最接近的整数(feu TONEAREST),实际上是“最接近的偶数”,也称为“银行舍入”:lrint(1.5)=2,lrint(2.5)=2,lrint(3.234)=3,lrint(3.5)=4,lrint(4.6)=5我的错误。谢谢您的澄清。银行家四舍五入应该是“四舍五入到一半偶数”,这与四舍五入到最近的整数不同integer@aeropapa17也许我的说法有些混乱,但事实是,
lrint
根据当前舍入模式返回最接近的整数,默认情况下是最接近的整数(feu TONEAREST),这实际上是“最接近的偶数”,也称为“银行家舍入”:lrint(1.5)=2,lrint(2.5)=2,lrint(3.234)=3,lrint(3.5)=4,lrint(4.6)=5我的错误。感谢您的澄清。