热门搜索 :
考研考公
您的当前位置:首页正文

iOS NSDecimalNumber用法 加减乘除 解决字符串

来源:东饰资讯网

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或者客户端的计算问题了呗,于是就着手这个问题开始查,原...

 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 = @&quot;better&q...

早知道痔疮这么简单就能好,我还做什么手术啊!五洲 · 燨燚

 592

一、简介在iOS中需要精确计算时,double, float类型往往会出现不可预料的问题: 这里写代码片 在调试过程中可以看到 doule 类型 d3 在计算过程中值不是预计的9999.99...

 6637

title: NSDecimalNumber的介绍和使用! date: 2016-11-07 15:51:56 categories: 笔记 tags:NSDecimalNumber、计算精度N...

 1894

在MAC OS/iOS 开发时,我们会遇到这类情况。如何将输入的符合数字格式的字符串,转换成NSNumber 类型的对象。 我首先写了这个方法:   C代码   id resu...

 771

(一)基本数据与字符串之间转换。 NSString *tempA = @"123"; NSString *tempB = @"456";   1,字符串拼接 NSSt...

相关热词

 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天硬起来立辉商贸 · 燨燚

 2072

转载自:iOS开发NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等 NSDecimalNumber NSDecimalNumber,不可变NSNumber 的子类,...

 1819

//1.今天在做数值判断的时候,发现NSString用floatValue转的时候出现了精度问题,小数后的数值显示不对,后来查资料发现了一个比较好用的类NSDecimalNumber;//2.NSDe...

 470

在项目中经常使用到货币的结算问题,但是货币的精度问题真的很让人头疼~~不论你是用float类型还是double类型在累加的时候好像总是精度不够呢这里我们就使用到了NSDecimalNumber货币类了...

 446

今天遇到一个问题 服务器返回货币数据 妈的 用string 》 floatvalue   不准确 去百度查查 妈的国人分享精神真差  真他妈的自私 一个破壁文章没几个字 还是从国外翻译过来的 全...

iOS NSDecimalNumber解决数值计算不精确问题,一句话解决精确计算,精确比较

12-03

iOS 解决数值计算(floatValue,doubleValue)不精确问题,一句话解决精确计算,精确比较

 1.4万

NSDecimalNumber 是NSNumber的子类。使用 [NSNumber numberWithDouble:]方法来格式我的NSNumber,但是,由于一些值比较大,我想要用科学计数法来表示...

iOS 解决floatValue,doubleValue等计算不精确问题,一句话解决精确计算,精确比较

10-15

iOS 解决字符串floatValue,doubleValue等后计算不精确问题,一句话解决精确计算,精确比较

个人资料

粉丝

0

喜欢

1

评论

1

等级: 

访问: 

6487

积分: 

173

排名: 

106万+

最新文章

个人分类

归档

热门文章

阅读量:1814

阅读量:1350

阅读量:935

阅读量:422

阅读量:344

最新评论

联系我们

请扫描二维码联系客服

400-660-0108

CSDN APP

0

Top