递增 0.1 时如何将每个 .5 数字四舍五入为整数

科尔尼

我正在构建一个板球应用程序。我希望数字增加 0.1,但一旦达到 0.5 并且我再次点击加号,我希望它四舍五入到整个值。

例如。2.1, 2.2, 2.3, 2.4, 2.5 然后跳转到 3.0(然后重新开始 3.1, 3.2, 3.3 等)

我的步进器目前上下 0.1,但它包括小数(.6、.7、.8 和 .9)

每次它达到 0.5 个数字时,我都需要将其四舍五入。减法时一样。

这是我的代码:

var oversFloat: Float = 0.0

@IBOutlet weak var displayOversLabel: UILabel!
@IBAction func OversStepper(_ sender: UIStepper) {
    let oversValue = Float(sender.value)
    displayOversLabel.text = String(oversValue)

在此处输入图片说明

瓦瓦马

浮点数很麻烦你真的不应该测试一个浮点数是否与另一个值相等。在您的情况下0.1,不能用浮点数精确表示,因此增加会0.1引入增加的误差。所以你的号码可能会在0.499999999你期待的时候结束0.5

在您的情况下,您可以通过在步进器中使用整数来轻松避免此问题。将您的步进器修改为 step by1而不是 by0.1并将您的最小值和最大值乘以10然后,当您使用步进值更新标签时,将步进值除以10

要从递增88.589.0哪个递增,从递减89.0哪个88.5,请检查一个数字是否为69,然后通过以下方式递增/递减您的步进值4

@IBAction func oversStepper(_ sender: UIStepper) {
    let value = Int(sender.value)
    let remainder = value % 10
    if remainder == 6 {
        sender.value = Double(value + 4)
    } else if remainder == 9 {
        sender.value = Double(value - 4)
    }
    displayOversLabel.text = String(format: "%.1f", sender.value / 10)
}

通过使用整数值步进,不会引入错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将值四舍五入为0和5

来自分类Dev

最后一位数字为5时四舍五入小数

来自分类Dev

将数字四舍五入至1

来自分类Dev

将错误四舍五入为1个有效数字并根据错误位数对值进行四舍五入

来自分类Dev

Java-将数字四舍五入,使位数递增

来自分类Dev

将数字四舍五入到前3个数字(以数字!= 0开头)

来自分类Dev

如何使用移位运算符将字节四舍五入为0或255

来自分类Dev

如何使用移位运算符将字节四舍五入为0或255

来自分类Dev

将数字四舍五入为所选数字

来自分类Dev

将数字四舍五入到最接近的.5小数

来自分类Dev

将变量四舍五入到2 dp,同时在末尾og 1dp值上加上0

来自分类Dev

如何递增零为+1的数字,并保留0?

来自分类Dev

如何在5上四舍五入

来自分类Dev

将数字四舍五入

来自分类Dev

如何四舍五入数字?

来自分类Dev

如果提前1,2,3,4分钟,如何将其四舍五入到最接近的5分钟间隔?

来自分类Dev

如何将十进制数四舍五入为最小整数?

来自分类Dev

如何将双精度值四舍五入为最接近的整数

来自分类Dev

如何在 0.6, 1,6, 2,6,...处对数字进行四舍五入?

来自分类Dev

如何将十进制数字四舍五入为指定的位数?

来自分类Dev

如何将数字四舍五入为常数小数

来自分类Dev

如何始终获取完整数字或四舍五入(总是)数字C#

来自分类Dev

在 Java 中将数字四舍五入为 5 或 10

来自分类Dev

JavaScript:四舍五入为5

来自分类Dev

PHP:将数字四舍五入为16个十进制数字

来自分类Dev

PHP:将数字四舍五入为16个十进制数字

来自分类Dev

仅在必要时将数字四舍五入为 2 位小数

来自分类Dev

如何避免python将数字四舍五入?

来自分类Dev

试图将数字四舍五入到最接近的整数100,Math.round仅在小数点后四舍五入

Related 相关文章

  1. 1

    将值四舍五入为0和5

  2. 2

    最后一位数字为5时四舍五入小数

  3. 3

    将数字四舍五入至1

  4. 4

    将错误四舍五入为1个有效数字并根据错误位数对值进行四舍五入

  5. 5

    Java-将数字四舍五入,使位数递增

  6. 6

    将数字四舍五入到前3个数字(以数字!= 0开头)

  7. 7

    如何使用移位运算符将字节四舍五入为0或255

  8. 8

    如何使用移位运算符将字节四舍五入为0或255

  9. 9

    将数字四舍五入为所选数字

  10. 10

    将数字四舍五入到最接近的.5小数

  11. 11

    将变量四舍五入到2 dp,同时在末尾og 1dp值上加上0

  12. 12

    如何递增零为+1的数字,并保留0?

  13. 13

    如何在5上四舍五入

  14. 14

    将数字四舍五入

  15. 15

    如何四舍五入数字?

  16. 16

    如果提前1,2,3,4分钟,如何将其四舍五入到最接近的5分钟间隔?

  17. 17

    如何将十进制数四舍五入为最小整数?

  18. 18

    如何将双精度值四舍五入为最接近的整数

  19. 19

    如何在 0.6, 1,6, 2,6,...处对数字进行四舍五入?

  20. 20

    如何将十进制数字四舍五入为指定的位数?

  21. 21

    如何将数字四舍五入为常数小数

  22. 22

    如何始终获取完整数字或四舍五入(总是)数字C#

  23. 23

    在 Java 中将数字四舍五入为 5 或 10

  24. 24

    JavaScript:四舍五入为5

  25. 25

    PHP:将数字四舍五入为16个十进制数字

  26. 26

    PHP:将数字四舍五入为16个十进制数字

  27. 27

    仅在必要时将数字四舍五入为 2 位小数

  28. 28

    如何避免python将数字四舍五入?

  29. 29

    试图将数字四舍五入到最接近的整数100,Math.round仅在小数点后四舍五入

热门标签

归档