【问题标题】:NSNumber with locale and exponent具有语言环境和指数的 NSNumber
【发布时间】:2012-05-07 13:21:46
【问题描述】:

我正在尝试在 iOS 中编写转换器。

用户在文本字段中输入值,然后值被转换。

结果最终返回给用户。

输出必须采用区域设置十进制格式,这样才有效。

此外,输出必须以指数形式打印,这很有效。

问题:我需要指数形式和十进制形式。

以下代码解释了什么是有效的。

//formatting

        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];  
        [formatter setLocale:[NSLocale currentLocale]];
        [formatter setNumberStyle: NSNumberFormatterDecimalStyle];

//formattiing

        float myFloat=0.01;
        NSNumber *myNumber =[[NSNumber alloc]initWithFloat:myFloat];
        NSString *myString =[formatter stringFromNumber:myNumber];


        NSLog(@"Locale: %@", formatter.locale.localeIdentifier);
        NSLog(@"myFloat = %g", myFloat);
        NSLog(@"myNumber = %.2e",[myNumber floatValue]);
        NSLog(@"myString = %@", myString);

//output
 Locale: nb_NO
 myFloat = 0.01
 myNumber = 1.00e-02
 myString = 0,01

什么不起作用。我需要将指数和十进制格式化程序合二为一!

我想要这个输出:

myString = 1,00e-2

有人知道吗?

【问题讨论】:

    标签: ios decimal nsnumber nsnumberformatter exponent


    【解决方案1】:

    用你的格式化程序试试这个:NSNumberFormatterScientificStyle

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 1970-01-01
      • 2019-06-25
      • 2011-01-22
      • 2018-03-07
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多