关于Swift(1.2)变量的初等问题

时间:2015-09-07 08:48:42

标签: swift

import Foundation
var x = 17.0
var y = 1.0
var z = 0.5
var isSq : Bool = true
y = ((sqrt(x)) - Int(sqrt(x)))

我在Xcode 6.4工作

最后一行产生错误:'找不到' - ' - '接受提供的参数'。

很高兴能够理解这里发生了什么,还有一个函数只返回一个double变量的小数部分 - Int()的补充吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

sqrt(x)的类型为DoubleInt(sqrt(x))的类型为Int Double。 Swift中没有减号运算符,需要Int 左操作数和Int作为右操作数, 并且Swift不会在类型之间隐式转换。

因此,您必须再次将Double转换为let y = sqrt(x) - Double(Int(sqrt(x)))

fmod()

您也可以使用let y = fmod(sqrt(x), 1.0) 函数提取小数部分:

            <rule name="Works" stopProcessing="true">
                <match url=".*" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^mysite.com$" />
                </conditions>
                <action type="Redirect" url="http://mysite.azurewebsites.net/mysub"/>
            </rule>