/**
初始化方法
@param roundingMode 舍入方式{
NSRoundDown, // Always down == truncate //只舍不入
NSRoundUp, // Always up // 只入不舍
NSRoundBankers // on a tie round so last digit is even 貌似四舍五入
}
@param scale 小数点后舍入值的位数。
@param exact 精度错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
@param overflow 溢出错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
@param underflow 下溢错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
@param divideByZero 除以0的错误处理;YES:如果出现错误,将引发异常,NO:忽略错误并将控制权放回给调用者。
@return NSDecimalNumberHandler对象
*/
- (NSString *)stringCount:(NSString *)string unit:(NSInteger)unit{
if (!string || !string.length) {
return @"";
}
NSString *tempStr;
NSInteger scaleNum;
NSInteger intValue = string.integerValue;
if (intValue>=10000) {
if (intValue%10>0) {
scaleNum = 4;
}else if (intValue%100>0){
scaleNum = 3;
}else if (intValue%1000>0){
scaleNum = 2;
}else if (intValue%10000>0){
scaleNum = 1;
}else{
scaleNum = 0;
}
NSDecimalNumberHandler *hander = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown
scale:scaleNum
raiseOnExactness:NO
raiseOnOverflow:NO
raiseOnUnderflow:NO
raiseOnDivideByZero:NO];
NSDecimalNumber *num = [[NSDecimalNumber decimalNumberWithString:string] decimalNumberByDividingBy :[NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%ld",(long)unit]] withBehavior:hander];
return [NSString stringWithFormat:@"%@",num];
}else{
return string;
}
return tempStr;
}
iOS 字符串转换数字单位 不四舍五入
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。