gpt4 book ai didi

ios - 值应四舍五入到最接近的十分之一或最接近的四分之一

转载 作者:行者123 更新时间:2023-11-28 10:21:52 25 4
gpt4 key购买 nike

我需要将数字四舍五入到最接近的十分之一或四分之一。

例如:

如果值介于 0.225 和 0.265 之间,则四舍五入为 0.25,当它们为从0.265到0.350,四舍五入到0.30。

所以我需要知道某个数字的最近舍入是多少,而不是对其进行舍入。

最佳答案

您可以使用 switch 语句。

主要功能:

func differentRounding(value:Double) -> Double {

var decimalValue = value % 1
let intValue = value - decimalValue

switch decimalValue {
case 0.225..<0.265 :
decimalValue = 0.25
case 0.725..<0.765 :
decimalValue = 0.75
default :
decimalValue = ((decimalValue * 10).roundDownTillFive()) / 10
}

return decimalValue + intValue
}

differentRounding(1.2434534545) // 1.25
differentRounding(3.225345346) // 2.25
differentRounding(0.2653453645) // 0.3
differentRounding(0.05) // 0
differentRounding(0.04456456) // 0

向下舍入到 5 扩展名:

extension Double {
func roundDownTillFive() -> Double {

var decimalValue = self % 1
let intValue = self - decimalValue

switch decimalValue {
case 0.0...0.5 :
decimalValue = 0.0
case 0.5...1.0 :
decimalValue = 1.0
default :
break
}

return decimalValue + intValue
}
}

Double(0.5).roundDownTillFive() // 0
Double(0.50000001).roundDownTillFive() // 1

关于ios - 值应四舍五入到最接近的十分之一或最接近的四分之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34022543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com