首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏進无尽的文章

    编码篇-开发中关于数字的那些事儿

    NSDecimalNumber--十进制数 iOS提供的一种支持准确精度计算的数据类型 NSDecimalNumber. +(NSDecimalNumber *)zero; //0 +(NSDecimalNumber *)one; //1 +(NSDecimalNumber *)minimumDecimalNumber 逻辑运算 加法运算 -(NSDecimalNumber *)decimalNumberByAdding:(NSDecimalNumber *)decimalNumber; -(NSDecimalNumber *discount1 = [NSDecimalNumber decimalNumberWithString:@"1.2"]; NSDecimalNumber *discount2 = [NSDecimalNumber # NSDecimal 与 NSDecimalNumber 之间的转化 NSDecimalNumber *price = [NSDecimalNumber decimalNumberWithString

    1.5K10发布于 2018-09-12
  • 来自专栏iOS逆向与安全

    iOS计算器: 表达式的精准计算(计算字符串数学表达式)MathStringExpression

    负责计算表达式的工具类 see also 前言 效果图 背景 之前使用NSExpression 进行表达式的计算,发现一个问题:无法精准小数点位数(1+65 和65+1 的精度就不一样) 解决方案:采用的是NSDecimalNumber 进行计算 NSDecimalNumber NSDecimalNumber* computeResult = [MSParser parserComputeNumberExpression:floatString NSDecimal desDecimal; NSDecimalRound(&desDecimal, &decimal , 2, NSRoundPlain); result = [[NSDecimalNumber stringWithFormat:@"1.0*%@", sanitizedString];//1.0*1+1+9/8 NSString * result = nil; NSDecimalNumber NSDecimal desDecimal; NSDecimalRound(&desDecimal, &decimal , 2, NSRoundPlain); result = [[NSDecimalNumber

    1.3K10发布于 2021-01-18
  • 来自专栏進无尽的文章

    扒虫篇-Bug日志 Ⅶ

    4.使用NSDecimalNumber进行累加计算时出现了崩溃 不可写成,需要一个中间变量做周转,而且 initWithString:@"0"是需要设置的,不能光 init allMoney = [allMoney decimalNumberByAdding:money]; 最后的代码是这样的: NSDecimalNumber *allMoney = [[NSDecimalNumber alloc]initWithString :@"0"]; for (ExpensesModel *model in dataArray) { NSDecimalNumber *allMoney11 =[[NSDecimalNumber alloc]initWithString:[allMoney stringValue]]; NSDecimalNumber *money = [[NSDecimalNumber alloc]initWithString

    75140发布于 2018-09-12
  • 来自专栏日常技术分享

    Objective-C Float 转化成NSString 小数不精确解决

    :(int)position { NSString *doubleString = [NSString stringWithFormat:@"%lf", value]; NSDecimalNumber *decNumber = [NSDecimalNumber decimalNumberWithString:doubleString]; NSString *decStr = [decNumber

    88310发布于 2018-09-13
  • 来自专栏iOS 开发杂谈

    Apple Pay 接入工程

    // 12.75 subtotal NSDecimalNumber *subtotalAmount = [NSDecimalNumber decimalNumberWithMantissa:1275 exponent = [PKPaymentSummaryItem summaryItemWithLabel:@"Subtotal" amount:subtotalAmount]; // 2.00 discount NSDecimalNumber *discountAmount = [NSDecimalNumber decimalNumberWithMantissa:200 exponent:-2 isNegative:YES]; self.discount = [PKPaymentSummaryItem summaryItemWithLabel:@"Discount" amount:discountAmount]; 汇总项使用 NSDecimalNumber // 10.75 grand total NSDecimalNumber *totalAmount = [NSDecimalNumber zero]; totalAmount = [totalAmount

    2.1K40发布于 2019-03-15
  • 来自专栏iOS Developer

    Apple Pay强势来袭,开发者应做的事情--转自Bison的技术博客

    summaryItemWithLabel:@"鸡蛋" amount:[NSDecimalNumber summaryItemWithLabel:@"苹果" amount:[NSDecimalNumber summaryItemWithLabel:@"2个苹果" amount:[NSDecimalNumber PKPaymentSummaryItem *widget4 = [PKPaymentSummaryItem summaryItemWithLabel:@"总金额" amount:[NSDecimalNumber

    88630发布于 2018-07-04
  • 来自专栏iOS开发~

    iOS_NestedScrollView(嵌套ScrollView)

    这里有两种实现方案:1、contentInset.top 取整let firstNum = NSDecimalNumber(string: "1.1")let secondNum = NSDecimalNumber string: "1.1")let resultNum = firstNum.multiplying(by: secondNum)let numberEqual = resultNum.compare(NSDecimalNumber fabs(streamRatio - QNBUALiveShowPlayerDefaultAspectRatio) < FLT_EPSILON;```3、`contentOffset.y` 判等时 使用 `NSDecimalNumber

    1.5K30编辑于 2022-09-08
  • 来自专栏APP自动化测试

    iOS集成ApplePay

    //空发货地址 payRequest.shippingMethods = @[]; //设置配送方式 NSDecimalNumber *totalAmount = \ [NSDecimalNumber decimalNumberWithString:@"0.01"];

    2K31发布于 2019-10-15
  • 来自专栏進无尽的文章

    扒虫篇- Bug日志 Ⅹ

    1、NSDecimalNumber转基础数据类型时选择 double 比 float 更精确 2、一个奇怪的 Duplicate interface definition for class 错误 完成以下措施后依然无效

    97210发布于 2019-03-15
  • 来自专栏BillyMiracle的文章

    [iOS开发]JSONModel源码学习

    //兼容的对象属性 allowedJSONTypes = @[ [NSString class], [NSNumber class], [NSDecimalNumber

    1.7K00编辑于 2022-05-08
领券