iOS中數(shù)字的格式化 NSNumberFormatter

NSNumberFormatter 和NSDateFormatter 是NsFormatter的子類。
NSNumberFormatter類有個屬性numberStyle,它是一個枚舉型,設(shè)置不同的值可以輸出不同的數(shù)字格式。該枚舉包括:

enum {
    NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle, //無格式,四舍五入,原值2.7999999999,直接輸出3 
    NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle, //小數(shù)型,保留小數(shù)輸出2.8
    NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle, //貨幣型,加上了人民幣標(biāo)志,原值輸出¥2.8
    NSNumberFormatter
    NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,  //百分比型,本身數(shù)值乘以100后用百分號表示,輸出280%
    NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle, //科學(xué)計數(shù)型,原值表示,輸出2.799999999E0
    NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle  //全拼,原值的中文表示,輸出二點七九九九...
};

typedef NSUInteger NSNumberFormatterStyle;

各個枚舉對應(yīng)輸出數(shù)字格式的效果如下:

[1243:403] Formatted number string:123456789
[1243:403] Formatted number string:123,456,789
[1243:403] Formatted number string:¥123,456,789.00
[1243:403] Formatted number string:-539,222,988%
[1243:403] Formatted number string:1.23456789E8
[1243:403] Formatted number string:一億二千三百四十五萬六千七百八十九

其中第三項和最后一項的輸出會根據(jù)系統(tǒng)設(shè)置的語言區(qū)域的不同而不同

/**
 *  @author liboy
 *
 *  格式化余額數(shù)據(jù)
 *
 *  @param string 余額數(shù)據(jù)字符串
 *
 *  @return 帶逗號余額
 */
- (NSString *)balanceFormatFromStr:(NSString*)string
{
    NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
    [numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    NSNumberFormatter *numFormatter2 = [[NSNumberFormatter alloc] init];
    [numFormatter2 setNumberStyle:NSNumberFormatterNoStyle];
    NSNumber *num = [numFormatter2 numberFromString:string];
    NSString *tempStr = [numFormatter stringFromNumber:num];
    NSString *balanceStr = [tempStr substringFromIndex:1];
    if ([tempStr hasPrefix:@"-"]) {
        balanceStr = [NSString stringWithFormat:@"-%@",[tempStr substringFromIndex:2]];
    }
    return balanceStr;
    
}
最后編輯于
?著作權(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)容