OC 常用知識筆記 (1)

weixin_33890499發表於2016-10-18

1. 設定導航欄返回按鈕的顏色

  • 試過
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]]; 

上面的沒什麼卵用,然後試試下面這個就可以用了

self.navigationController.navigationBar.tintColor = [UIColor blackColor];

2. 判斷字串中數字的型別

  1. 判斷是否是純數字 -- 整型
    - (BOOL)isPureInt:(NSString *)string{
        NSScanner* scan = [NSScanner scannerWithString:string];
        int val;
        return [scan scanInt:&val] && [scan isAtEnd];
    }
  1. 判斷是否是浮點數
    - (BOOL)isPureFloat:(NSString *)string{
        NSScanner* scan = [NSScanner scannerWithString:string]; 
        float val; 
        return [scan scanFloat:&val] && [scan isAtEnd];
    }

stringWithFormat對浮點數四捨五入問題

stringWithFormat 會將浮點數四捨五入輸出,有時候並不想這個樣子

  • 例如
[NSString stringWithFormat:@"%.1f",1.26];
```會輸出1.3

**解決方法:**

/**
四捨五入問題 -- 只舍不入

@param price 需要處理的數字
@param position 保留小數點第幾位

@return
*/

+(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];

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

}


> 那麼問題來了,如果想要四捨五入該怎麼辦呢?

round(12345.6789 * 100)/100

相關文章