代码之家  ›  专栏  ›  技术社区  ›  john doe

为什么这么复杂

  •  -2
  • john doe  · 技术社区  · 6 年前

    为什么像取整这样简单的事情在Swift中如此复杂?

    这是双人间的延伸。

    enter image description here

    我试过了

      round(self - 273.15) 
    

    也犯了同样的错误。

    还尝试了:

      (self - 273.14).round()
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Sam    6 年前

    这个 round 您试图使用的是 Double 类型试试这个:

    func toCelsius() -> Double {
        return (self - 273.15).rounded()
    }
    

    澄清一下,a mutating 成员表示它更改了值本身(在本例中,返回 Void )。这意味着不能对常量(或计算结果,如您的情况)调用它。

    我正在使用的函数, rounded() ,不是变异成员,并返回 双重的 正是你想要的。

        2
  •  1
  •   vadian    6 年前

    答案其实是离题的,不过有一个更简单的解决方案 这个案子 .

    根据你的 previous question 您似乎正在处理openweathermap API。

    如果你加上

    units=metric
    

    在URL查询中,可以获得所有摄氏度。