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

IOS中货币高精度要求使用NSDecialNumber、的更多相关文章

  1. iOS 中有用的开源库

    youtube下载神器:https://github.com/rg3/youtube-dl vim插件:https://github.com/Valloric/YouCompleteMe vim插件配 ...

  2. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  3. iOS中数据库应用基础

    iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...

  4. 正则表达式在iOS中的运用

    1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  5. iOS 中的 HotFix 方案总结详解

    相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...

  6. iOS中使用正则

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  7. IOS中div contenteditable=true无法输入

    在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...

  8. 谈谈iOS中的屏幕方向

    众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...

  9. iOS中assign、copy 、retain等关键字的含义

    iOS中assign.copy .retain等关键字的含义  转自:http://my.oschina.net/majiage/blog/267409 assign: 简单赋值,不更改索引计数cop ...

随机推荐

  1. SOD 精选细节--常用工具

    要明白一个思想:  SOD 只是帮你拼接sql语句, 用简单的方式来帮你实现.   不要理解错了.这很重要的! 查询: TB table=new TB(); table.Name="111& ...

  2. DotNetBar v14.0.0.3 Fully Cracked

    更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=14.0.0.3 如果遇到破解问题可以与我 ...

  3. 【转发】centos 7安装完后出现please make your choice from '1' ......

    PS:出现以上信息,是要求你阅读或者接收协议: Initial setup of CentOS Linux 7 (core)解决步骤如下: 1,输入[1],按Enter键阅读许可协议,2,输入[2], ...

  4. STM32之RTC配置与初始化-rtc.h rtc.c

    <rtc.h> #include "stm32f10x.h" #ifndef _RTC_H #define _RTC_H typedef struct { vu8 ho ...

  5. xcode插件种类

    古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件.   1.全能搜索家CodePilot 2.0 你要找的是文件?是文件夹? ...

  6. Linux下进程的建立

    Linux下进程的建立 我们都知道,进程就是正在执行的程序.而在Linux中,可以使用一个进程来创建另外一个进程.这样的话,Linux的进程的组织结构其实有点像Linux目录树,是个层次结构的,可以使 ...

  7. eclipse安卓模拟器窗口大小调整

    引自百度经验的链接: http://jingyan.baidu.com/article/3aed632e18c7e97011809161.html

  8. windows程序设计笔记

    2014.05.06 新建一个visual C++ -- 常规 -- 空白 的项目,用.c后缀名指定这是一个用C语言来写的windows项目.和C语言的hellworld程序做了一个比较,按照wind ...

  9. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  10. 锋利的jquery学习笔记

    1.$("#tt")获取的永远都是一个jquery对象,所以要判断页面上是否存在某个对象不能像js中 if($("#tt")){ } 而是通过: ){ } ps ...