代码之家  ›  专栏  ›  技术社区  ›  Mohamed Emad Hegab

iOS:NSNumberFormatter从本币到双倍

  •  1
  • Mohamed Emad Hegab  · 技术社区  · 11 年前

    我有一个字符串,其中的货币格式为当地货币。 例如 10000丹麦克朗(10.000,00) 当转换为双倍值时,只需读取10。 我试过这个片段

    NSString * locale ;
        if(locale == nil || [locale isEqualToString:@""]){
            locale = @"da_DK";
        }
       NSLocale *priceLocale = [[NSLocale alloc] initWithLocaleIdentifier:locale] ;
    [NSDecimalNumber decimalNumberWithString:actualCash locale:priceLocale].doubleValue
    

    但它不起作用

    任何想法都将受到赞赏。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Jakub Vano    11 年前

    使用 NSNumberFormatter 直接:

    NSNumberFormatter* formatter = [NSNumberFormatter new];
    formatter.numberStyle = NSNumberFormatterDecimalStyle;
    formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"da_DK"];
    NSNumber* result = [formatter numberFromString:@"10.000,00"];
    
    推荐文章