【问题标题】:Convert a x.0 float to int function [duplicate]将 x.0 浮点数转换为 int 函数 [重复]
【发布时间】:2023-03-11 07:19:01
【问题描述】:

好的,在标题中问这个问题有点困难,但这就是我想要做的。

我想基本上检测我的浮点数是否在 .这样我就可以跳过打印 - 例如 - 1.0 而只打印 1。有人知道如何做到这一点吗? 我正在考虑某种模数运算符,但无法真正找到一个好的方法。 任何帮助将不胜感激。

【问题讨论】:

标签: swift


【解决方案1】:

尝试对 double 值进行 'flooring',然后检查它是否未更改:

let dbl = 2.0
let isInteger = floor(dbl) == dbl // true

如果不是整数则失败

let dbl = 2.4
let isInteger = floor(dbl) == dbl // false

【讨论】:

    【解决方案2】:

    Swift 3 和 4:

    var FloatVal : Float = 4.0
    
    
    extension Float {
        var truncate: String {
           return self.truncatingRemainder(dividingBy: 1) == 0 ? String(format: "%.0f", self) : String(self)
        }
    }
    
    print("Value \(FloatVal.truncate)") // 4
    
    

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      相关资源
      最近更新 更多