Swift 中如何四舍五入

news/2024/10/9 4:26:50/

在 Swift 中,你可以使用不同的方法来进行四舍五入操作,具体取决于你的需求和场景。以下是几种常见的方法:

round()函数

round()`函数可以对浮点数进行四舍五入,并返回最接近的整数。

   let number = 3.75let roundedNumber = round(number)  // 结果为 4.0

rounded()方法

rounded()方法是 `FloatingPoint` 协议的扩展方法,可以对浮点数进行四舍五入。

   let number = 3.75let roundedNumber = number.rounded()  // 结果为 4.0

指定保留小数位数

如果需要指定保留小数位数并进行四舍五入,可以结合 `NumberFormatter` 使用。

   let number = 3.7569let formatter = NumberFormatter()formatter.maximumFractionDigits = 2  // 指定保留两位小数let roundedString = formatter.string(for: number)  // 结果为 "3.76"

NumberFormatter()其他用法 

// 创建一个 NumberFormatter 对象,用于格式化数字
let formatter = NumberFormatter()// 设置小数部分的最大位数为 2
formatter.maximumFractionDigits = 2// 设置数字样式为将数字转换为对应的中文大写形式
formatter.numberStyle = .spellOut// 设置地区为中国台湾地区
formatter.locale = Locale(identifier: "zh-TW")// 使用 formatter 对象将 Double 类型的最大有限数格式化为字符串,并打印出来
print(formatter.string(for: Double.greatestFiniteMagnitude))

向上取整和向下取整

如果需要分别进行向上取整和向下取整操作,可以使用 `ceil()` 和 `floor()` 函数。

   let number = 3.75let roundedUp = ceil(number)    // 向上取整,结果为 4.0let roundedDown = floor(number) // 向下取整,结果为 3.0


http://www.ppmy.cn/news/1438564.html

相关文章

webmagic 爬取https的网站抛avax.net.ssl.SSLHandshakeException异常

webmagic 抓取带有https的网站,抛出的异常javax.net.ssl.SSLHandshakeException。 初步解决办法: 1,在自己的项目中新建httpclient文件夹,新建类HttpClientGenerator, 复制webmagic源码中的 HttpClientGenerator. 2.修改 HttpClientGenerator…

@PostConstruct ,InitializingBean接口,init-method属性 三者的概念

在Spring框架中,在bean被实例化后,有三种方式可以用来执行Bean的初始化逻辑:PostConstruct注解、实现InitializingBean接口以及使用init-method属性。 PostConstruct 来源与适用性:PostConstruct是Java EE规范的一部分&#xff…

CPPTest实例分析(C++ Test)

1 概述 CppTest是一个可移植、功能强大但简单的单元测试框架,用于处理C中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式,并且可以轻松添加新的输出格式。 CppTest下载地址:下载地址1  下载地址2 下面结合实例分析下CppTest如…

智能解决装箱问题:使用优化算法实现高效包装

组合优化问题 组合优化(Combinatorial Optimization,CO)数学优化研究的一个分支。主要关注的是从有限的对象集合中寻找最优解的问题。这个词的由来主要是由“组合”和“优化”两部分构成。“组合”指的是从有限的对象集合中选择一部分的过程…

单机三pxc节点集群,+docker-haproxy2.0负载均衡实现

一.下载 https://www.haproxy.org/download/2.0/src/haproxy-2.0.5.tar.gz 或者在这里下载(下面需要的各个配置文件都有): https://download.csdn.net/download/cyw8998/89170129 二.编写文件,制作docker镜像 1.Dockerfile&a…

运行django

确保app被注册 urls.py中编写url 视图对应关系 命令行启动 python manage.py runserver

【Linux】学习记录_15_POSIX信号量

15 POSIX信号量 15.1 POSIX信号量基本概念 信号量(Semaphore)是一种实现进程/线程间通信的机制,可以实现进程/线程之间同步或临界资源的互斥访问, 常用于协助一组相互竞争的进程/线程来访问临界资源。在多进程/线程系统中&#…

C++ //练习 13.4 假定Point是一个类类型,它有一个public的拷贝构造函数,指出下面程序片段中哪些地方使用了拷贝构造函数:

C Primer(第5版) 练习 13.4 练习 13.4 假定Point是一个类类型,它有一个public的拷贝构造函数,指出下面程序片段中哪些地方使用了拷贝构造函数: Point global; Point foo_bar(Point arg){Point local arg, *heap ne…