相关疑难解决方法(0)

圆形双倍至最接近的10

我想绕一个Double到最接近的10.

例如,如果数字是8.0,则舍入到10.如果数字是2.0,则将其舍入为0.

我不知道从哪里开始.你会建议什么?

math rounding swift

10
推荐指数
3
解决办法
7884
查看次数

最接近五的圆形货币

我想将我的值四舍五入到最接近的 5 美分,例如:

5.31 -> 5.30
5.35 -> 5.35
5.33 -> 5.35
5.38 -> 5.40
Run Code Online (Sandbox Code Playgroud)

目前我通过使用以下方法获取十进制值来做到这一点:

let numbers = 5.33
let decimal = (numbers - rint(numbers)) * 100
let rounded = rint(numbers) + (5 * round(decimal / 5)) / 100

// This results in 5.35
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法,步骤更少,因为有时numbers - rint(numbers)会给我一个奇怪的结果,例如:

let numbers = 12.12
let decimal = (numbers - rint(numbers)) * 100

// This results in 11.9999999999999
Run Code Online (Sandbox Code Playgroud)

rounding swift

5
推荐指数
1
解决办法
3246
查看次数

标签 统计

rounding ×2

swift ×2

math ×1