let nums = [3.0, 3.001, 3.5, 3.999, -3.0, -3.001, -3.5, -3.999] let rules = [FloatingPointRoundingRule.awayFromZero, .down, .toNearestOrAwayFromZero, .toNearestOrEven, .towardZero, .up] for rule in rules { print("========\(rule)========") for num in nums { let value = num.rounded(rule) print("Rule: \(rule), Source: \(num), Value: \(value)") } } /* ========awayFromZero======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 4.0 Source: 3.5, Value: 4.0 Source: 3.999, Value: 4.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -4.0 Source: -3.5, Value: -4.0 Source: -3.999, Value: -4.0 ========down======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 3.0 Source: 3.5, Value: 3.0 Source: 3.999, Value: 3.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -4.0 Source: -3.5, Value: -4.0 Source: -3.999, Value: -4.0 ========toNearestOrAwayFromZero======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 3.0 Source: 3.5, Value: 4.0 Source: 3.999, Value: 4.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -3.0 Source: -3.5, Value: -4.0 Source: -3.999, Value: -4.0 ========toNearestOrEven======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 3.0 Source: 3.5, Value: 4.0 Source: 3.999, Value: 4.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -3.0 Source: -3.5, Value: -4.0 Source: -3.999, Value: -4.0 ========towardZero======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 3.0 Source: 3.5, Value: 3.0 Source: 3.999, Value: 3.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -3.0 Source: -3.5, Value: -3.0 Source: -3.999, Value: -3.0 ========up======== Source: 3.0, Value: 3.0 Source: 3.001, Value: 4.0 Source: 3.5, Value: 4.0 Source: 3.999, Value: 4.0 Source: -3.0, Value: -3.0 Source: -3.001, Value: -3.0 Source: -3.5, Value: -3.0 Source: -3.999, Value: -3.0 */ 复制代码
总结
-
awayFromZero
: 四舍五入到最接近的值,返回值大于或等于源的大小(该规则比较的是绝对值)
let num = 3.5 num.rounded(.awayFromZero) // 4 let num2 = -3.5 num2.rounded(.awayFromZero) //-4 //可以看出 -4是小于-3.5的,所以它的规则说返回值大于或等于源指的是两值的绝对值的比较 复制代码
down toNearestOrAwayFromZero toNearestOrEven
let num = 3.5 // 这是3与4同等接近,选择偶数4 num.rounded(.toNearestOrEven) // 4 let num2 = 4.5 // 这是4与5同等接近,选择偶数4 num2.rounded(.toNearestOrEven) // 4 复制代码
-
towardZero
: 四舍五入到最接近的值,返回值小于于或等于源的大小;通过上面的例子可以看出它是忽略负号的;与awayFromZero
对应 -
up
: 四舍五入到最接近的值,返回值大于或等于源的大小;不忽略负号;与up
对应
以上所述就是小编给大家介绍的《Swift-Tips之rounded(_:)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图论算法理论、实现及应用
王桂平//王衍//任嘉辰 / 北京大学 / 2011-1 / 54.00元
《图论算法理论、实现及应用》系统地介绍了图论算法理论,并选取经典的ACM/ICPC竞赛题目为例题阐述图论算法思想,侧重于图论算法的程序实现及应用。《图论算法理论、实现及应用》第1章介绍图的基本概念和图的两种存储表示方法:邻接矩阵和邻接表,第2~9章分别讨论图的遍历与活动网络问题,树与图的生成树,最短路径问题,可行遍性问题,网络流问题,支配集、覆盖集、独立集与匹配,图的连通性问题,平面图及图的着色问......一起来看看 《图论算法理论、实现及应用》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
随机密码生成器
多种字符组合密码