//单元测试通过 /** * 四舍五入并保留N位小数 * * @param number 数值字符串 * @param afterPoint 第几位小数 * * @return 处理后结果 */ +(NSString *)halfUpDecimalNumber:(NSString *)number afterPoint:(int)position { /* Mode的枚举类型 NSRoundPlain, // 四舍五入 NSRoundDown, // 只舍不入 NSRoundUp, // 不舍只入 NSRoundBankers // */ if ([number length]==0) { return @""; } NSDecimalNumber *ouncesDecimal = [NSDecimalNumber decimalNumberWithString:number]; NSString *formatStr=@"0."; for (int i=0; i<position; i++) { formatStr=[formatStr stringByAppendingString:@"0"]; } NSNumberFormatter *doubleValueWithMaxTwoDecimalPlaces = [[NSNumberFormatter alloc] init]; [doubleValueWithMaxTwoDecimalPlaces setNumberStyle:NSNumberFormatterDecimalStyle]; [doubleValueWithMaxTwoDecimalPlaces setPaddingCharacter:@""]; [doubleValueWithMaxTwoDecimalPlaces setPaddingPosition:NSNumberFormatterPadAfterSuffix]; [doubleValueWithMaxTwoDecimalPlaces setFormatWidth:position]; [doubleValueWithMaxTwoDecimalPlaces setPerMillSymbol:@""]; [doubleValueWithMaxTwoDecimalPlaces setAlwaysShowsDecimalSeparator:YES]; [doubleValueWithMaxTwoDecimalPlaces setGroupingSeparator:@""]; [doubleValueWithMaxTwoDecimalPlaces setRoundingMode:NSNumberFormatterRoundHalfUp]; [doubleValueWithMaxTwoDecimalPlaces setPositiveFormat:formatStr]; return [doubleValueWithMaxTwoDecimalPlaces stringFromNumber:ouncesDecimal]; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。