当前位置: 首页 > 知识库问答 >
问题:

swift中双倍值舍入到小数点位数x

东门清夷
2023-03-14

谁能告诉我如何在SWIFT中舍入一个双倍值到小数点位数的x位?

我有:

var totalWorkTimeInHours = (totalWorkTime/60/60)

当我打印TotalWorkTimeInHours时,如何将其舍入到1.543?

共有1个答案

商昂然
2023-03-14

您可以使用Swift的round函数来实现这一点。

若要以3位精度舍入double,请先将其乘以1000、舍入并将舍入后的结果除以1000:

let x = 1.23556789
let y = Double(round(1000*x)/1000)
print(y)  // 1.236

除了任何类型的printf(...)string(format:...)解决方案之外,此操作的结果仍然是double类型。

每一个程序员都应该了解浮点算术

 类似资料:
  • 我在C#中尝试了这一点,结果是正确的。

  • 问题内容: 谁能告诉我在Swift中如何将双精度值四舍五入到小数点后位数x? 我有: 以秒为单位的NSTimeInterval(double)。 会给我时间,但是会给我这么长的精确时间,例如1.543240952039 … 打印时如何将其四舍五入为1.543 ? 问题答案: 您可以使用Swift的功能来完成此操作。 要以3位数精度四舍五入,首先将其乘以1000,四舍五入,然后将四舍五入的结果除以1

  • 问题内容: 我已经阅读了很多stackoverflow问题,但似乎没有一个对我有用。我正在四舍五入。这是代码: 我得到的输出是:但我希望它是。我读到添加会有所帮助,但是如你所见,我没有设法使其工作。 输入和输出都必须是双倍是绝对必要的。 如果你更改上面代码的第4行并将其发布,那将是非常有用的帮助。 问题答案: 输出是 或如@Rufein所说 这也会为你做。

  • 问题内容: 每次我想四舍五入到小数点后两位小数时,它都不想四舍五入…我怎么能将它四舍五入到小数点后两位零,那会给我92.00而不是92? 给我 但我想要 我使用了TO_CHAR,它起作用了 谢谢你们! 问题答案: 您可以尝试使用TO_CHAR函数来转换结果 例如 希望能帮助到你

  • 问题内容: 我需要四舍五入,它应该是两位小数。 尝试了以下内容 28.27 但是期望值仅为28.26。 问题答案: 似乎您需要:

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入