Swift-Tips之rounded(_:)
rounded(_:)
使用指定的舍入规则将该值取整。
代码示例
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) // 4let 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
对应
My Github
Swift-Tips之rounded(_:)相关推荐
- Swift tips 笔记
Swift tips 笔记 CaseIterable协议 enum遵守了CaseIterable协议可以实现遍历枚举值 enum Season : CaseIterable {case spring, ...
- Swift tips 017 - Speeding up Swift package tests
代码截图 代码出处: Swift Tips 017 by John Sundell[1] 小笔记 这段代码在说什么 Swift Package Manager(Swift 包管理器,一般简称 Swif ...
- swift通知栏推送_如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用
swift通知栏推送 by Neo Ighodaro 由新Ighodaro 如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用 (How to create an iOS crypt ...
- swift自行车品牌介绍_品牌101:简介
swift自行车品牌介绍 Sometimes when I'm around designer friends and there's a lull in the conversation one o ...
- swift通知栏推送_如何使用Swift使用推送通知构建食品交付应用
swift通知栏推送 by Neo Ighodaro 由新Ighodaro 如何使用Swift使用推送通知构建食品交付应用 (How to build a food delivery app with ...
- swift 引用其他类_浅谈swift中闭包修饰符 weak?unowned? 或什么都不用
浅谈swift中闭包修饰符 weak?unowned? 或什么都不用 平常的开发中,clourse是我们iOSr绕不过去的坎儿. 苹果本身也很重视闭包,像之前的一些老的target-action类型的 ...
- 关于Swift中的forEach(_:)和for-in loop
本文基于Swift5,阅读时间大约需要10min. 简介 Swift摒弃了C语言式定义变量.累加变量的for-loop,用for-in取而代之,来遍历集合类型. 那什么是forEach(_:)呢?fo ...
- Swift Tips(18-32)
18. 软键盘添加 Done button extension UITextField { func addDoneToolbar(onDone: (target: Any, action: Sele ...
- swift 自定义滑动视图_在Swift中创建一个向上滑动菜单视图(以编程方式)
swift 自定义滑动视图 This is a quick tutorial on how to create a slide-up menu view in iOS 这是有关如何在iOS中创建向上滑 ...
最新文章
- Caffe源码中blob文件分析
- Android Handler 深入学习(1)
- (转载)如何学好iphone游戏开发
- Angular下通过命令创建组件至指定文件夹下
- 甘肃省计算机等级考试在线支付,甘肃计算机等级考试入口
- python操作hbase配置记录-基于thrift2协议
- 【Android面试】Android面试题集锦 (陆续更新)
- @Transactional和@Async 使用场景
- python监控桌面捕捉_想要远程获取对方的桌面?Python教你一招搞定!
- 消息称苹果将推iPhone 12s取代XR 仅支持4G网络
- 三、Java基础工具(1)_常用类——数学相关类
- easyUI跨Tab操作datagrid
- 【剑指Offer】15顺时针打印矩阵
- 好奇怪呀后面加什么标点_好奇怪,为什么开发商就不能把这款好户型打造得更完美些呢?...
- java中substring与substr的用法
- ki4so-发起一个史上最开源的sso项目
- MySQL如何执行关联查询
- cwe_checker初识别
- 联想微型计算机设置从u盘启动,联想台式机设置从u盘启动图文教程
- html电话号码隐藏样式,打电话不显示号码怎么设置(教你打电话隐藏号码)
热门文章
- Unity3D 的LookAt() 与 LookRotation()方法的比较
- [OpenGL] 视图矩阵(View)矩阵与glm::lookAt函数源码解析
- 怎样在小方框上打对号 小方框内打对勾 word 方框打对勾
- 动画效果编程基础详解--Animation Android
- android通知栏的点击事件,android自定义通知栏以及点击事件
- MEC@JavaSE@实战篇@笔记05@计算机网络技术基础
- 如何评判一个企业是否需要实施erp系统?
- 2022年电工(初级)操作证考试题库及模拟考试
- WPF遍历视觉树与逻辑树
- ink css,ink - 在线工具 - 前端之家