文档章节

iOS 金融数字计算

 王素年
发布于 2016/07/27 11:55
字数 238
阅读 54
收藏 0

iOS 金融数字计算

后台返回的金额数是字符串NSString,要对其进行计算的话,当时就转成CGFloat,结果发现转后的数值和字符串不一样了,多了很多位(不准确了),解决这个问题需要使用金融货币的API。

 

 

- (void)viewDidLoad {

    [super viewDidLoad];

 

    /*

    NSRoundPlain,   貌似取整

   

    NSRoundDown,    只舍不入

   

    NSRoundUp,      只入不舍

   

    NSRoundBankers  貌似四舍五入

    */

   

    /*

    decimalNumberByAdding  +

    

    */

   

    NSDecimalNumberHandler *roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundBankers scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES];

   

   

    NSDecimalNumber *one = [NSDecimalNumber decimalNumberWithString:@"90.7009"];

    NSDecimalNumber *two = [NSDecimalNumber decimalNumberWithString:@"0.22"];

   

   

    //1. one + two 不做任何处理

    NSDecimalNumber *result1 = [one decimalNumberByAdding:two];

   

    //2. one - two 不做任何处理

    NSDecimalNumber *result2 = [one decimalNumberBySubtracting:two];

   

    //3. one * two 不做任何处理

    NSDecimalNumber *result3 = [one decimalNumberByMultiplyingBy:two];

 

   

   

   

    //4. one + two 四舍五入

    NSDecimalNumber *result4 = [one decimalNumberByAdding:two withBehavior:roundUp];

 

   

   

    //比较大小

    NSDecimalNumber *discount1 = [NSDecimalNumber decimalNumberWithString:@".85"];

   

    NSDecimalNumber *discount2 = [NSDecimalNumber decimalNumberWithString:@".9"];

   

    NSComparisonResult result = [discount1 compare:discount2];

   

    if (result == NSOrderedAscending) {

       

        NSLog(@"小于");

       

    } else if (result == NSOrderedSame) {

       

        NSLog(@"等于");

       

    } else if (result == NSOrderedDescending) {

       

        NSLog(@"大于");

       

    }

   

 

 

   

   

}

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 71
码字总数 44391
作品 0
普陀
程序员
私信 提问
ios时间那点事--NSLocale

iOS时间那点事 NSLocale 若你只开发中国区的应用,需要保证用户修改当前语言环境时应用的显示不发生变化。而像NSDateFormatter这样的类,会根据设备的设置,自动返回不同语言的数据。为了保证...

JustBen
2013/08/22
0
0
Cocos-BCX 获ONETOP评级A级评分:去中心化的游戏应用及数字资产创造平台

Cocos-BCX 获ONETOP评级A级评分:去中心化的游戏应用及数字资产创造平台 2018-11-02 09:42编辑: 游星啊分类:区块链来源:Cocos-BCX 区块链Cocos-BCX 招聘信息: 图像处理及模式识别工程师 ...

游星啊
11/02
0
0
IOS:基于分片技术的区块链底层公链|SSR评级

前言: IOS是一个创新且安全的区块链模型,目前正在建设超高TPS区块链设施,以满足分散经济的安全和可伸缩性需求。IOS希望为用户提供一个完全去中心化的在线服务和数字商品交换平台,同时也为...

SSRating
09/13
0
0
必升!iOS 12正式版官宣:拯救老设备

来源 | 安兔兔 今天早上,苹果官方公众号发文称,iOS 12正式版即将发布,并公布了iOS 12的部分新功能。 按照苹果的说法,iOS 12增加了许多新功能和优化,轻扫打开相机的速度最高提升70%,键盘...

比特网
09/17
0
0
你以为区块链热潮已过?其实它才刚刚开始

你以为区块链热潮已过?其实它才刚刚开始 2018-07-19 15:41编辑: yyuuzhu分类:区块链来源:区块链头条 区块链 招聘信息: iOS开发 iOS开发 iOS开发 app开发上架H5技术 app开发技术 图像处理...

yyuuzhu
07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

降压变换器 Buck

特点 输入输出极性相同。 工作过程 在 MOS 导通时,输入电源通过 L 和 C 滤波后向负载端提供电流;当 MOS 断开后,L 通过二极管续流,保持负载电流连续。输出电压因为占空比的作用,不会超过...

colinux
今天
2
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
4
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部