1. [代码]NSDecimalNumber用法 加减乘除 解决字符串转float类型不准确 结尾无法去0处理 用于货币处理
- (void)viewDidLoad {
[superviewDidLoad];
//货币算法 使用NSDecimalNumber 来进行精准计算
//float double 在计算时会产生误差
//加法
//声明两个 NSDecimalNumber
NSDecimalNumber*jiafa1 = [NSDecimalNumberdecimalNumberWithString:@"55.55555"];
NSDecimalNumber*jiafa2 = [NSDecimalNumberdecimalNumberWithString:@"0.11111"];
//加法运算函数 decimalNumberByAdding
NSDecimalNumber*jiafa = [jiafa1 decimalNumberByAdding:jiafa2];
NSLog(@"加法 %@", jiafa);
//减法
//声明两个 NSDecimalNumber
NSDecimalNumber*jianfa1 = [NSDecimalNumberdecimalNumberWithString:@"55.55555"];
NSDecimalNumber*jianfa2 = [NSDecimalNumberdecimalNumberWithString:@"0.11111"];
//减法运算函数 decimalNumberByAdding
NSDecimalNumber*jianfa = [jianfa1 decimalNumberBySubtracting:jianfa2];
NSLog(@"减法 %@", jianfa);
//乘法
//声明两个 NSDecimalNumber
NSDecimalNumber*chengfa1 = [NSDecimalNumberdecimalNumberWithString:@"55.55555"];
NSDecimalNumber*chengfa2 = [NSDecimalNumberdecimalNumberWithString:@"0.11111"];
//乘法运算函数 decimalNumberByAdding
NSDecimalNumber*chengfa = [chengfa1 decimalNumberByMultiplyingBy:chengfa2];
NSLog(@"乘法 %@", chengfa);
//除法
//声明两个 NSDecimalNumber
NSDecimalNumber*chufa1 = [NSDecimalNumberdecimalNumberWithString:@"55"];
NSDecimalNumber*chufa2 = [NSDecimalNumberdecimalNumberWithString:@"3"];
//除法运算函数 decimalNumberByAdding
NSDecimalNumber*chufa = [chufa1 decimalNumberByDividingBy:chufa2];
}
//比较大小
NSDecimalNumber*discount1 = [NSDecimalNumber decimalNumberWithString:@".85"];
NSDecimalNumber*discount2 = [NSDecimalNumber decimalNumberWithString:@".9"];
NSComparisonResult result = [discount1 compare:discount2];
if (result ==NSOrderedAscending) {
NSLog(@"85%% < 90%%小于");
} else if (result == NSOrderedSame) {
NSLog(@"85%% == 90%%等于");
} elseif (result ==NSOrderedDescending) {
NSLog(@"85%% > 90%%大于");
}
想对作者说点什么? 我来说一句
4505
NSDecimalNumber NSDecimalNumber是iOS系统的api,是一种精确计算。主要解决一下问题: 1、字符串转float等不精确问题。 2、精确计算...
2099
上周接到需求,说手机端的有一些值和PC是不一致的,总会有点误差,同一个网关,网关也没有给PC做特殊处理,那怎么不一样呢,总有一点误差,那肯定是PC或者客户端的计算问题了呗,于是就着手这个问题开始查,原...
NSDecimalNumber用法 加减乘除 解决字符串转float类型不准确 结尾无法去0处理 用于货币处理
1857
转载声明:NSDecimalNumber用法 加减乘除 解决字符串转float类型不准确 结尾无法去0处理 用于货币处理 //货币算法 使用NSDecimalNumber 来进行精准计算 ...
2267
对知识的深入,很大程度上取决于需求。最近在做一个P2P金融理财类的APP,其中对数值精度的要求很高,使用浮点型和双精度型表示,不能达到规定的精度要求。于是,从网上搜索相关能使Objective-C表示...
1407
/**由于NSDecimalNumber能够存储很大的值(大到38 位 x 10^+/-128)。这样进行一些大数值运算时也很方便,但是直接使用C的标量值会比通过NSDecimalNumber更快,所...
426
本文介绍了常见的类型转换.一.NSString和NSData的互相转换. NSString 转 NSData. NSString *testStr1 = @"better&q...
早知道痔疮这么简单就能好,我还做什么手术啊!五洲 · 燨燚
592
一、简介在iOS中需要精确计算时,double, float类型往往会出现不可预料的问题: 这里写代码片 在调试过程中可以看到 doule 类型 d3 在计算过程中值不是预计的9999.99...
6637
title: NSDecimalNumber的介绍和使用! date: 2016-11-07 15:51:56 categories: 笔记 tags:NSDecimalNumber、计算精度N...
Objective-c中数字型字符串转换NSNumber的三种方法
1894
在MAC OS/iOS 开发时,我们会遇到这类情况。如何将输入的符合数字格式的字符串,转换成NSNumber 类型的对象。 我首先写了这个方法: C代码 id resu...
771
(一)基本数据与字符串之间转换。 NSString *tempA = @"123"; NSString *tempB = @"456"; 1,字符串拼接 NSSt...
相关热词
ios视频传输 ios逻辑运算 ios页面跳转 ios状态栏 ios的生命周期
494
通常有后台请求返回的数据,解析后会有字符串,也可能有数字或bool,我们用模型接收的时候,可能类型不匹配,比如解析得到@”123.456”但我们需要的是@123.456,这就需要转化类型。1、 N...
1023
在项目中,遇到了包含小数的数字计算,要求保留4位小数,并进行四舍五入,然后再截取两位小数,例如12.14998,保留4位并四舍五入,就是12.14500,然后再截取两位小数就是12.15 最开始使用...
4184
举个栗子: 计算0.1*999999 看看会有什么结果? - (void)testDecimalNumber { double d1 = 0.01; double d2 = 999...
老中医推荐:让女人床上尖叫的秘笈,1个方法7天硬起来立辉商贸 · 燨燚
iOS开发之NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等
2072
转载自:iOS开发NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等 NSDecimalNumber NSDecimalNumber,不可变NSNumber 的子类,...
iOS NSNumber NSDecimalNumber 对数值的限制
1819
//1.今天在做数值判断的时候,发现NSString用floatValue转的时候出现了精度问题,小数后的数值显示不对,后来查资料发现了一个比较好用的类NSDecimalNumber;//2.NSDe...
470
在项目中经常使用到货币的结算问题,但是货币的精度问题真的很让人头疼~~不论你是用float类型还是double类型在累加的时候好像总是精度不够呢这里我们就使用到了NSDecimalNumber货币类了...
446
今天遇到一个问题 服务器返回货币数据 妈的 用string 》 floatvalue 不准确 去百度查查 妈的国人分享精神真差 真他妈的自私 一个破壁文章没几个字 还是从国外翻译过来的 全...
iOS NSDecimalNumber解决数值计算不精确问题,一句话解决精确计算,精确比较
12-03
iOS 解决数值计算(floatValue,doubleValue)不精确问题,一句话解决精确计算,精确比较
NSDecimalNumber NSNumber 区别 使用方法
1.4万
NSDecimalNumber 是NSNumber的子类。使用 [NSNumber numberWithDouble:]方法来格式我的NSNumber,但是,由于一些值比较大,我想要用科学计数法来表示...
iOS 解决floatValue,doubleValue等计算不精确问题,一句话解决精确计算,精确比较
10-15
iOS 解决字符串floatValue,doubleValue等后计算不精确问题,一句话解决精确计算,精确比较
个人资料
粉丝
0
喜欢
1
评论
1
等级:
访问:
6487
积分:
173
排名:
106万+
最新文章
tableView 的cell不铺满整个屏幕时,下面多余分割线消失处理
Objective-C编码规范:26个方面解决iOS开发问题
个人分类
归档
热门文章
阅读量:1814
iOS NSDecimalNumber用法 加减乘除 解决字符串转float类型不准确 结尾无法去0处理 用于货币处理
阅读量:1350
阅读量:935
tableView didSelectRowAtIndexPath 与手势的问题
阅读量:422
tableView 的cell不铺满整个屏幕时,下面多余分割线消失处理
阅读量:344
最新评论
Mr_aLIEz:照做了,还是乱码
联系我们
请扫描二维码联系客服
400-660-0108
©2018 CSDN版权所有 京ICP证09002463号
CSDN APP
0