float a = 0.01;
    
    int b =99999999;
    
    double c = 0.0;
    
    c = a * b;

//如果单纯的使用double会导致数据不是特别的精准、但是对于做金融的来说、又要求精度比较高、所以可以使用字符串的形式来解决这个问题
    NSLog(@"%f",c);
    
    NSLog(@"%.2f",c);
    
    c = a*(double)b;
    
    NSLog(@"%f",c);
    
    NSLog(@"%.2f",c);
    
    
    NSString *objA = [NSString stringWithFormat:@"%.2f",a];
    
    NSString *objB = [NSString stringWithFormat:@"%.2f",(double)b];
    
    c = [objA doubleValue]* [objB doubleValue];
    //使用字符串可以解决这个问题、
    NSLog(@"%.2f",c);

同样、使用系统的NSDecialNumber也是可以实现的、如果数据比较多、最好使用系统的框架、
    
    NSDecimalNumber *num1 = [NSDecimalNumber decimalNumberWithString:objB];
    
    NSLog(@"%@",num1);
    
    NSDecimalNumber *num2 = [NSDecimalNumber decimalNumberWithString:objA];
    
    NSLog(@"%@",num2);
    
    c = [num1 doubleValue] * [num2 doubleValue];
    
    NSLog(@"%.2f",c);

2015-11-09 11:24:33.660 NSDecimal[1583:75337] 1000000.000000
2015-11-09 11:24:33.661 NSDecimal[1583:75337] 1000000.00
2015-11-09 11:24:33.661 NSDecimal[1583:75337] 999999.967648
2015-11-09 11:24:33.661 NSDecimal[1583:75337] 999999.97
2015-11-09 11:24:33.662 NSDecimal[1583:75337] 999999.99
2015-11-09 11:24:33.662 NSDecimal[1583:75337] 99999999
2015-11-09 11:24:33.662 NSDecimal[1583:75337] 0.01
2015-11-09 11:24:33.662 NSDecimal[1583:75337] 999999.99

转载于:https://www.cnblogs.com/er-dai-ma-nong/p/4949465.html

IOS中货币高精度要求使用NSDecialNumber、相关推荐

  1. ios html格式转换,如何使用HTML模版和iOS中的UIPrintPageRenderer来生成PDF文档

    如何使用HTML模版和iOS中的UIPrintPageRenderer来生成PDF文档 作者:GABRIEL THEODOROPOULOS,时间:2016/7/10 翻译:BigNerdCoding, ...

  2. Blockchain Programming in iOS Using Swift 使用Swift在iOS中进行区块链编程 Lynda课程中文字幕

    Blockchain Programming in iOS Using Swift 中文字幕 使用Swift在iOS中进行区块链编程 中文字幕Blockchain Programming in iOS ...

  3. iphone smtp服务器没有响应,电子邮件卡在iPhone或iPad上的发件箱?如何修复iOS中的未发送邮件 | MOS86...

    您曾经在iOS中发送电子邮件,只能将信息卡在iPhone,iPad或iPod touch的邮件应用发件箱中?你知道这是什么时候发生的,因为在iOS的Mail应用程序的底部,状态栏在iOS中显示1个未发 ...

  4. mui ios中form表单中点击输入框头部导航栏被推起及ios中form表单中同时存在日期选择及输入框时,日历选择页面错乱bug...

    一.ios header导航栏被推起解决方法 1 设置弹出软键盘时自动改变webview的高度 plus.webview.currentWebview().setStyle({ softinputMo ...

  5. iOS中UISearchBar(搜索框)使用总结

    2019独角兽企业重金招聘Python工程师标准>>> iOS中UISearchBar(搜索框)使用总结 初始化:UISearchBar继承于UIView,我们可以像创建View那样 ...

  6. iOS中几种数据持久化方案总结

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  7. iOS中关于NSTimer使用知多少

    看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到ru ...

  8. iOS中JS 与OC的交互(JavaScriptCore.framework)

    iOS中实现js与oc的交互,目前网上也有不少流行的开源解决方案: 如:react native 当然一些轻量级的任务使用系统提供的UIWebView 以及JavaScriptCore.framewo ...

  9. 在iOS中使用tableView

    为什么80%的码农都做不了架构师?>>>    UITableView是iOS中最常用的控件了,所以使用起来也很简单. ViewContoller.h 文件 (继承UITableVi ...

最新文章

  1. 谷歌DeepMind联合创始人被架空
  2. java 合并流_使用流执行聚合
  3. 远程管理,无需在机房来回穿梭
  4. 关于更新系统后CocoaPods不能使用的问题
  5. centos7 oracle_Centos7主机名变成bogon的原因及解决方法
  6. 非精确运算和精确运算
  7. MyEclipse10 离线图文安装SVN插件教程
  8. maven profile多环境动态配置文件使用
  9. FP Growth算法
  10. RESTful源码笔记之RESTful Framework的基本组件
  11. 服务器上域名打不开网站,域名打不开网站
  12. 跟我一起学C++课程笔记(第一天)
  13. 大数问题-----ACM中java的入门使用
  14. linux修复硬盘文件命令,fsck命令_Linux fsck 命令用法详解:检查并且试图修复文件系统中的错误...
  15. Java从入门到入土
  16. 程序员必备的画图工具汇总
  17. 毕业进行时:人生的二次选择
  18. 《洛杉矶时报》:失去李开复的Google,中国之路更艰难
  19. contest14 CF160div2 oooxx oooxx ooooo
  20. IPFS 之包管理器GX

热门文章

  1. 代理模式【介绍、静态代理、动态代理、入门、应用】
  2. vim环境设置(应用于python编程)
  3. C#语言基础— 输入与输出
  4. 【hadoop】有参考价值的博客整理
  5. c#将十进制转64进制
  6. 初试牛刀---css中的小细节
  7. 《大话数据结构》读后总结(六)
  8. sql server(常用)
  9. autocomplete=off inpu属性
  10. Android 应用 之路 天气预报(五)