IOS中货币高精度要求使用NSDecialNumber、
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、的更多相关文章
- iOS 中有用的开源库
youtube下载神器:https://github.com/rg3/youtube-dl vim插件:https://github.com/Valloric/YouCompleteMe vim插件配 ...
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- 正则表达式在iOS中的运用
1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
- iOS中使用正则
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- IOS中div contenteditable=true无法输入
在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...
- 谈谈iOS中的屏幕方向
众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...
- iOS中assign、copy 、retain等关键字的含义
iOS中assign.copy .retain等关键字的含义 转自:http://my.oschina.net/majiage/blog/267409 assign: 简单赋值,不更改索引计数cop ...
随机推荐
- C++指针(部分有误需修改)
一.取地址运算符&(内存地址) C++编译的程序占用的内存分为以下几个部分: 1.栈区:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.与其它分区不同 ...
- how to reset mac root password
Reset 10.5 Leopard & 10.6 Snow Leopard password Power on or restart your Mac. At the chime (or g ...
- RPI学习--环境搭建_更新firmware
(用以解决USB摄像头不识别的状况) rpi-update是老外开发的一个更新树莓派firmware的工具 $ sudo apt-get update $ sudo apt-get install ...
- (kate)win8-64位系统下opencv-2.4.3的安装以及在visual_studio2010中配置
环境: 操作系统:window8.1 64bit Opencv版本:OPencv-2.4.3 VS版本:vs 2010 一.安装Opencv 1.Opencv官网http://opencv.org/ ...
- 2014年2月份第4周51Aspx源码发布详情
AM自定义报表管理系统源码 2014-2-28 [VS2010]源码描述: 本系统有以下特色之处: 1.一套软件,多点登陆,根据权限不同共同管理报表,适应于前期获取客户需求报表字段使用. 2.客户自 ...
- Unichar, char, wchar_t
之前总结了一些关于字符表示,以及字符串的知识. 现在在看看一些关于编译器支持的知识. L"" Prefix 几乎所有的编译器都支持L“” prefix,一个字符串如果带有L“”pr ...
- Java关键字final、static使用总结(转)
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- Emacs常用命令
1.离开Emacs 挂起Emacs C-z 退出Emacs C-x C-c 2.文件 打开文件 C-x C-f 保存文件 C-x C-s 保存所有的文件 C-x s 将一个文件的内容插入到当前buff ...
- Swift编程规范
文档编号: 应用开发Swift编码规范 (版本v1.0.0) 成文信息 主题词: Swift开发编码规范 作 者: 周少停 文档类别: 开发规范 审 核: 批 准: 文档性质: 初稿 ...
- 常用的php字符串处理函数
php常用的字符串处理函数 1.trim():从字符串的两端删除空白字符和其他预定义字符 ltrim():从字符串的左端删除空格和其他预定义字符 rtrim():从字符串的末端开始删除空白字符和其他预 ...