博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS小数四舍五入总结
阅读量:6146 次
发布时间:2019-06-21

本文共 1555 字,大约阅读时间需要 5 分钟。

iOS项目里,涉及到double类型是数据,经常会用到四舍五入这样的取值方式,网上查阅资料之后,经常会不起作用,最终把有效的方法,总结了一下。 OC:

/** 四舍五入字符串 @param round 小数位 eg: 2 @param numberString 数字 eg 0.125 @return 四舍五入之后的 eg: 0.13 */- (double )roundNumberStringWithRound:(NSInteger)round numberString:(NSString *)numberString{        if (numberString == nil) {        return 0;    }    NSDecimalNumberHandler *roundingBehavior    = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:round raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];    NSDecimalNumber *aDN                        = [[NSDecimalNumber alloc] initWithString:numberString];    NSDecimalNumber *resultDN                   = [aDN decimalNumberByRoundingAccordingToBehavior:roundingBehavior];    return resultDN.doubleValue;}复制代码

Swift:

/// 四舍五入2位小数小数    ///    /// - round: 小数位(默认2位小数)    /// - Parameter numberString: 格式化之前 eg 0.125    /// - Returns: 格式化之后 eg: 0.13    func roundNumberString(round:Int = 2, numberString : String) -> Double {        if numberString.isEmpty || round == 0 {            return 0.0        }                let roudingBehavior     = NSDecimalNumberHandler(roundingMode: .plain, scale: Int16(round), raiseOnExactness: false, raiseOnOverflow: false, raiseOnUnderflow: false, raiseOnDivideByZero: false)        let aDn                 = NSDecimalNumber(string: numberString)        let resultDn            = aDn.rounding(accordingToBehavior: roudingBehavior)        return resultDn.doubleValue            }复制代码

转载于:https://juejin.im/post/5c4ea91f51882528735f02ae

你可能感兴趣的文章
【samba】ubuntu创建的软链接文件夹通过samba共享后,在pc端无写权限
查看>>
w查看负载,vmstat命令,top命令,sar命令,nload命令
查看>>
SAP标准培训课程C4C10学习笔记(四)第四单元
查看>>
13款SDK产品让您轻松完成APP开发| MobSDK
查看>>
spring源码解析bean初始化后的实现和其他入口
查看>>
什么是网络爬虫,为什么选择Python做网络爬虫?
查看>>
Java 8 lambda表达式
查看>>
ActiveMQ-inAction-Transport-学习笔记
查看>>
java 管道(pipe)
查看>>
多角度详细介绍-------Python是什么!
查看>>
卓正PageOffice客户端安装步骤
查看>>
Redis集群简单搭建
查看>>
CoordinatorLayout三部曲学习之三:AppBarLayout联动源码学习
查看>>
zip压缩工具、tar打包、打包并压缩
查看>>
关于linux系统如何做到后台启动项目的坑
查看>>
java B2B2C电子商务平台分析之十六----Zuul的容错回退与高可用
查看>>
基于 MVP 的 Android 组件化开发框架实践
查看>>
程序员除了转行做管理,还可以做什么?
查看>>
Shiro框架
查看>>
php 数组排序相关的函数
查看>>