在swift中向上舍入到最接近的.5十进制数

时间:2018-05-25 21:25:41

标签: swift

我有一个看起来像这样的功能

bits = bits * 1.5

因此,如果位为1,它将返回1.5,但如果该函数再次运行,它将返回2.25但是我更愿意,如果它只是四舍五入到那可能吗?

2 个答案:

答案 0 :(得分:1)

也许从globalnerdy.com尝试以下功能:

在你的情况下,你可以在乘以1.5后使用bits = roundUp(bits, 0.5)

func roundUp(_ value: Double, toNearest: Double) -> Double {
  return ceil(value / toNearest) * toNearest
}

答案 1 :(得分:0)

你可以这样做......

round(x * 3) * 0.5

然后乘以3.然后将其四舍五入到最近的int。然后除以2。

所以你仍然乘以1.5,但它会四舍五入到最接近的0.5

1.5 * 3 = 4.5

圆形= 5

5/2 = 2.5

你想要的是什么

修改:如果您希望始终达到最接近的0.5,请使用ceiling代替round