【问题标题】:Rounding up double, if greater or equal to .5, in Objective-C [duplicate]在Objective-C中,如果大于或等于0.5,则向上取整[重复]
【发布时间】:2015-08-11 19:33:49
【问题描述】:

如何在 Objective-C 中对以下值进行四舍五入(它们是双精度值):

1.1 -> 1.0
1.6 -> 2.0
1.5 -> 2.0
2.3 -> 2.0
2.0 -> 2.0
2.001 -> 2.0

我在区分各种小于和大于或等于 .5 的值时遇到问题。

【问题讨论】:

  • 为了可见性,不要标记额外的语言。谢谢
  • 不使用round 类型函数这种类型的舍入通常使用double(int(x + 0.5)) 完成
  • 用您尝试过的代码更新您的问题,以便人们向您展示要解决的问题。

标签: objective-c double rounding


【解决方案1】:

要对变量进行四舍五入,您通常可以添加 0.5,然后将结果转换为 int(如果您愿意,还可以转换为 floatdouble),或者调用 floor() 函数来截断小数部分部分。

【讨论】:

    【解决方案2】:

    发件人:Objective-C Float Rounding

    使用 C 标准函数族 round()。 roundf() 用于浮点数, round() 用于双精度,roundl() 用于长双精度。然后你可以投 将结果转换为您选择的整数类型。

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      相关资源
      最近更新 更多