当前位置: 首页 > 面试题库 >

如何在Swift中将小数位截断到x个位置

幸乐湛
2023-03-14
问题内容

在我的swift程序中,我有一个非常长的十进制数字(例如17.9384693864596069567),我想将十进制截断到几个小数位(所以我希望输出是17.9384)。我
希望数字四舍五入到17.9385。我怎样才能做到这一点?

感谢帮助!

注意:这不是重复的,因为在使用某些功能之前,它们使用的是swift的非常旧的版本。另外,他们使用浮点数和整数,而我正在谈论双精度数。他们的问题/答案要复杂得多。


问题答案:

您可以通过扩展它来整理更多内容 Double

extension Double
{
    func truncate(places : Int)-> Double
    {
        return Double(floor(pow(10.0, Double(places)) * self)/pow(10.0, Double(places)))
    }
}

然后像这样使用

var num = 1.23456789
// return the number truncated to 2 places
print(num.truncate(places: 2))

// return the number truncated to 6 places
print(num.truncate(places: 6))


 类似资料:
  • 我有一个非常长的小数(例如),我想将小数截短到几位小数(因此我希望输出为)。我不想将数字舍入为。

  • 问题内容: 例如,我有变量3.545555555,我希望将其截断为3.54。 问题答案: 如果您希望将其用于显示目的,请使用: 如果需要进行计算,请使用:

  • 谁能告诉我如何在SWIFT中舍入一个双倍值到小数点位数的x位? 我有: 当我打印时,如何将其舍入到1.543?

  • 问题内容: 假设我的值为15.7784514,我想不进行四舍五入地显示为15.77。 结果是 - 如何显示15.77? 问题答案: 将数字转换为字符串,将数字匹配到小数点后第二位: 该方法在某些情况下(与)不同而失败,因此请务必小心。

  • 问题内容: 我试图确定截断或删除SQL中多余的小数位而不舍入的最佳方法。例如: 这将自动舍入为,这在大多数情况下是很好的。但是,对于这个项目,我不需要。有没有一种简单的方法可以截断我不需要的小数?我知道我可以使用该函数并将其转换回十进制。还有其他方法吗? 问题答案:

  • 这是我目前得到的 它告诉我小数点后有6位,因为它把“000”放在末尾。 我怎么解决这个? 尼克拉斯