我有以下简单的扩展为Double,它在所有的Xcode 8 beta 3的工作正常
public extension Double {
    public func roundTo(_ decimalPlaces: Int) -> Double {
        var v = self
        var divisor = 1.0
        if decimalPlaces > 0 {
            for _ in 1 ... decimalPlaces {
                v *= 10.0
                divisor *= 0.1
            }
        }
        return round(v) * divisor
    }
}

从Beta 4开始,我得到“不能使用变异成员的不变价值:”自我“是不可变的”在回合的功能 – 有人有任何线索吗?

这是由于与 FloatingPoint协议的round()和rounded())上的 the new rounding functions的命名冲突,已经添加到Xcode 8 beta 4的Swift 3.

因此,您需要通过指定您在Darwin模块中指向全局round()函数来消除歧义:

return Darwin.round(v) * divisor

或者更好的是,只需使用新的舍入函数,并在v上调用rounded():

return v.rounded() * divisor

swift3 – Xcode 8 Beta 4 Swift 3 – “圆”行为发生变化的更多相关文章

  1. Swift 运算属性

    都是直接定义,赋值使用Swift中的运算属性并不是直接用来存储值的,而是类似于函数的作用。他里面封装了getter和setter方法。比如我们举一个例子,正方形类,我们只要有边长的属性,那么周长是不是直接边长*4即可,同理只要知道周长,周长/4也能得到边长。创建一个正方形类属性round就是一个运算属性我们可以试一下有问题可以继续学习苹果开发群:414319235欢迎加入欢迎讨论问题

  2. swift3 – Xcode 8 Beta 4 Swift 3 – “圆”行为发生变化

    我有以下简单的扩展为Double,它在所有的Xcode8beta3的工作正常从Beta4开始,我得到“不能使用变异成员的不变价值:”自我“是不可变的”在回合的功能–有人有任何线索吗?

  3. round robin权重轮循算法php实现代码

    这篇文章主要介绍了round robin权重轮循算法php实现代码,需要的朋友可以参考下

  4. pandas round方法保留两位小数的设置实现

    本文主要介绍了pandas round方法保留两位小数的设置实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. php – mysql – 获取最接近正确值的值,根据结果返回0到很多

    我的网站允许用户猜测体育比赛的结果.在比赛结束时,应将猜测与实际结果进行比较.获胜者是具有最接近正确猜测的成员我正在寻找一种方法来返回所有猜测正确结果和得分差异的成员如果没有(零)成员猜对正确返回猜测最接近正确结果的成员SeeMYSQLFIDLEEXAMPLE我修改了脚本以更改固定值,如下所示我的问题是如果我在下表中运行此脚本:即使我将结果完全正确,nothing也会显示:我的变量值在sql语句中

  6. php – MySQL圆怪异常的bug

    我面临着一个非常奇怪的错误?现在在mysqlPHP上.是一个简单的选择,在下面的例子中,我使用多个字段来尝试解释我的问题:>“field”是11.5>$PHPvar是1.15MySQL查询:好吧,我想要得到13.23.“field”*$PHPvar=13.225,所以使用round我应该得到13.23,对吗?怎么可能,当谈到使用“领域”时,我的结果是假轮?

  7. delphi – 浮点数转换恐怖,还有出路吗?

    :如果使用银行家规则,它应该给我总是1519672而不是1519671.我想必须有一些损坏的内存导致问题,SelectNextPage行只显示它.但是在三台不同的机器上会出现同样的问题.任何人都可以告诉我如何追踪这个问题?或者如何确保始终获得稳定的转换结果?

  8. delphi的取整函数round、trunc、ceil和floor

    总结以上是DEVMAX为你收集整理的delphi的取整函数round、trunc、ceil和floor全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  9. c# – 在x64平台上Math.Round的性能显着下降

    当使用Math.Round转换double为int时,我注意到了一个非常显着的的性能下降,而x64与x86相比.我在Corei73770K上的64位Windows上进行了测试.有人可以重现吗?有没有什么好的理由呢?也许有些奇怪的边界条件?仅供参考,我将Math.Round与2个近似值进行了比较:条件转换和6755399441055744技巧.运行时间为:以下是基准代码:更新2016-11-23:安德烈·阿金欣在Andreynet/coreclrrepo上贴了一个question之后,被添加到了1.2.0的

  10. c# – 舍入单个

    解决方法我会认为您现有的解决方案是正确的.潜在的问题是,您希望根据其基数10表示来舍入数字,但您已将它们存储为基础2浮点数.所提供的2.135的例子是其中基数2表示与基数10不完全匹配的那些边缘情况之一.要获得预期的舍入行为,您必须将数字转换为基数10.最简单的方法正是您已经在做的:暂时将数字转换为十进制长度足以调用Math.Round.

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部