您的位置:首页 > 移动开发 > IOS开发

iOS NSNumber NSDecimalNumber 对数值的限制

2016-07-27 16:45 417 查看
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还可以进行+-*/,比较等运算
//更多功能还待探索,只是做个简单介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: