iOS NSNumber NSDecimalNumber 对数值的限制

1.floatValue,intValue,doubleValue

//NSString转floatValue 时,如果位数较多的话,会出现精度问题,这个时候建议用doubleValue

//另外,floatValue转换是四舍五入,intValue是取整
 NSString *numberFloat = [NSString stringWithFormat:@"%.2f",[sender.text floatValue]];

  NSString *numberInt = [NSString stringWithFormat:@"%d",[sender.text intValue]];

2.NSDecimalNumber的简单使用

//NSDecimalNumber是NSNumber的子类,比NSNumber的功能更为强大,四舍五入,取整,输入后自动取掉数值前面无用的0,最后以为是“.”消去等。由于NSDecimalNumber精度较高,所以会比基本数据类型费时,所以需要权衡考虑,苹果官方建议在货币以及要求精度很高的场景下使用。

NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:@"00100"];
//输出 number:100

NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:@"20."];
//输出 number:20

//NSDecimalNumber还可以进行+-*/,比较等运算 
//更多功能还待探索,只是做个简单介绍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值