iOS中處理四舍五入的問題

-(NSString *)notRounding:(float)price afterPoint:(int)position{

NSDecimalNumberHandler* roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:position raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];

NSDecimalNumber *ouncesDecimal;

NSDecimalNumber *roundedOunces;

ouncesDecimal = [[NSDecimalNumber alloc] initWithFloat:price];

roundedOunces = [ouncesDecimal decimalNumberByRoundingAccordingToBehavior:roundingBehavior];

[ouncesDecimal release];

return [NSString stringWithFormat:@"%@",roundedOunces];

}

介紹一下參數(shù):

price:需要處理的數(shù)字,

position:保留小數(shù)點第幾位,

然后調(diào)用

floats =0.126;NSString*sb = [selfnotRounding:s afterPoint:2];NSLog(@"sb = %@",sb);

輸出結(jié)果為:sb = 0.12

接下來介紹NSDecimalNumberHandler初始化時的關(guān)鍵參數(shù):decimalNumberHandlerWithRoundingMode:NSRoundDown,

NSRoundDown代表的就是只舍不入。

scale的參數(shù)position代表保留小數(shù)點后幾位。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容