代码之家  ›  专栏  ›  技术社区  ›  Omkar Jadhav

使用nsnumberformatter在输出uilabel中格式化货币

  •  6
  • Omkar Jadhav  · 技术社区  · 14 年前
    NSNumberFormatter * fmt;
    NSNumber          * n;
    
    fmt = [ [ NSNumberFormatter alloc ] init ];
    n   = [ NSNumber numberWithFloat: 10 ];
    
    [ fmt setFormatterBehavior: NSNumberFormatterBehavior10_4 ];
    [ fmt setCurrencySymbol: @"$" ];
    [ fmt setNumberStyle: NSNumberFormatterCurrencyStyle ];
    
     // NSLog( @"%@", [ fmt stringFromNumber: n ];
    
    [ fmt release ]
    
    
    -(IBAction)buttonPressed1:(id)sender
     {
    double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 
    
    SumCurrency.text = [NSString stringWithFormat:@"%0.0f", currency];
    
    
     }
    

    如何将sumcurrency.text格式化为1999而不是1999

    请帮忙..我对objective-c还不熟悉,但我的项目几乎95%都是在interface builder上完成的。

    我只需要上面代码的帮助来实现..拜托,我在这件事上很挣扎。

    当做, 新手。

    3 回复  |  直到 11 年前
        1
  •  13
  •   Andy Obusek    11 年前

    我得到了答案。但对任何人来说

    -(IBAction)buttonPressed1:(id)sender
    {
        double currency = [Amount1.text doubleValue] + [Amount2.text doubleValue]; 
        NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
        [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
        NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithInt:currency]];
        SumCurrency.text = [NSString stringWithFormat:@"Converted:%@",numberAsString];  
    }
    
        2
  •  6
  •   yunas    12 年前
    NSNumberFormatter * fmt;
    NSNumber          * n;
    
    fmt = [ [ NSNumberFormatter alloc ] init ];
    n   = [ NSNumber numberWithFloat: 10 ];
    
    [ fmt setFormatterBehavior: NSNumberFormatterBehavior10_4 ];
    [ fmt setCurrencySymbol: @"$" ];
    [ fmt setNumberStyle: NSNumberFormatterCurrencyStyle ];
    
     // NSLog( @"%@", [ fmt stringFromNumber: n ];
    
    [ fmt release ];
    

    使用

    SumCurrency.text = [ fmt stringFromNumber: n ];
    

    你受够了

        3
  •  1
  •   Jasper    12 年前

    给提出和回答这个问题的人的便条。

    你说,

    [numberFormatter stringFromNumber:[NSNumber numberWithInt:currency]];
    

    但是我认为如果你使用一个类的对象,比如nsnumber,那么你可能需要

    [numberFormatter stringFromNumber:(NSNumber *) currency]];
    

    明白我想说什么吗?