NSNumber轉(zhuǎn)化CGFloat精度失真===》》》NSDecimalNumberHandler

//保留一位小數(shù)
+(NSString )formatOnePointData:(NSString)inputString{
if(inputString == nil || [inputString isEqualToString:@""]){
return @"0.0";
}
NSDecimalNumberHandlerroundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:1 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumber
s1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumbers2 =[s1 decimalNumberByRoundingAccordingToBehavior:roundUp];
return [self zeroOneFill:[NSString stringWithFormat:@"%@",s2]];
}
//保留兩位小數(shù)
+(NSString )formatTwoPointData:(NSString)inputString{
if(inputString == nil || [inputString isEqualToString:@""]){
return @"0.00";
}
NSDecimalNumberHandler
roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumbers1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumber
s2 =[s1 decimalNumberByRoundingAccordingToBehavior:roundUp];
return [self zeroTwoFill:[NSString stringWithFormat:@"%@",s2]];
}
//保留一位小數(shù) +
+(NSString )decimalNumberByAddingFormatOnePointData:(NSString)inputString andWithData:(NSString )string{
NSDecimalNumberHandler
roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:1 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumbers1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumber
s2 = [NSDecimalNumber decimalNumberWithString:string];
NSDecimalNumbertotal = [s1 decimalNumberByAdding:s2 withBehavior:roundUp];
return [self zeroOneFill:[NSString stringWithFormat:@"%@",total]];
}
//保留兩位小數(shù) +
+(NSString )decimalNumberByAddingFormatTwoPointData:(NSString)inputString andWithData:(NSString )string{
NSDecimalNumberHandler
roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumber
s1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumbers2 = [NSDecimalNumber decimalNumberWithString:string];
NSDecimalNumber
total = [s1 decimalNumberByAdding:s2 withBehavior:roundUp];
return [self zeroTwoFill:[NSString stringWithFormat:@"%@",total]];
}
//保留一位小數(shù) —
+(NSString )decimalNumberBySubtractingFormatOnePointData:(NSString)inputString andWithData:(NSString )string{
NSDecimalNumberHandler
roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:1 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumbers1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumber
s2 = [NSDecimalNumber decimalNumberWithString:string];
NSDecimalNumbertotal = [s1 decimalNumberBySubtracting:s2 withBehavior:roundUp];
return [self zeroOneFill:[NSString stringWithFormat:@"%@",total]];
}
//保留兩位小數(shù) -
+(NSString )decimalNumberBySubtractingFormatTwoPointData:(NSString)inputString andWithData:(NSString )string{
NSDecimalNumberHandler
roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain scale:2 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumber
s1 = [NSDecimalNumber decimalNumberWithString:inputString];
NSDecimalNumbers2 = [NSDecimalNumber decimalNumberWithString:string];
NSDecimalNumber
total = [s1 decimalNumberBySubtracting:s2 withBehavior:roundUp];
return [self zeroTwoFill:[NSString stringWithFormat:@"%@",total]];
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容