/**
初始化方法
@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 字符串转换数字单位 不四舍五入
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...