【问题标题】:Formatting a NSNumber as percentage (%) with one decimal place using NSNumberFormatter使用 NSNumberFormatter 将 NSNumber 格式化为带一位小数的百分比 (%)
【发布时间】:2012-02-24 15:34:49
【问题描述】:

我正在尝试将包含值 0.305 的 NSNumber 格式化为“30.5%”。

但是,我的以下代码不起作用:

[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
[numberFormatter setLocale:[NSLocale currentLocale]];

如何指定数字格式为带一位小数的百分比?

【问题讨论】:

    标签: objective-c ios nsnumber


    【解决方案1】:

    这对我有用:

    [numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
    [numberFormatter setMinimumFractionDigits:1];
    

    【讨论】:

    • 这应该是正确的答案,因为它考虑了本地化。
    【解决方案2】:

    为实际正确答案编辑:

    [numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];
    [numberFormatter setMinimumFractionDigits:1];
    

    【讨论】:

    • 这个答案没有考虑本地化。
    【解决方案3】:

    试试

    float percent = 0.305;
    
    NSString *formattedPercentText = [NSString stringWithFormat:@"%.1f%%", percent * 100];
    

    【讨论】:

      【解决方案4】:

      我也在使用 setMaximum

      float precent = 3.5;
      
          NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
          [numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];     
          [numberFormatter setMinimumFractionDigits:1];
          [numberFormatter setMaximumFractionDigits:1];       
          return [numberFormatter stringFromNumber:[NSNumber numberWithFloat:precent]];
      

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-18
        • 2019-12-28
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        相关资源
        最近更新 更多