【问题标题】:Convert dot to commas number format in Objective C在Objective C中将点转换为逗号数字格式
【发布时间】:2017-06-28 07:31:39
【问题描述】:

我正在尝试将数字从美国格式转换为欧洲格式。

输入:34.24 输出:34,24

我尝试使用 NSNumberFormatter 但没有工作。有什么办法吗?

NSString *dd = [NSString stringWithFormat:@"%0.2f",amountDouble];
NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
[formatString setNumberStyle:NSNumberFormatterCurrencyStyle];
formatString.locale = Locale.currentLocale; //europe locale
NSNumber *reqNumber = [formatString numberFromString:dd]; // returns nil

【问题讨论】:

  • 该解决方案并没有完全解决我的问题。硬编码分隔符并不能确保基于 iPhone 区域设置的正确分隔符行为。我只想在欧洲语言环境中转换它,否则它不应该转换。输入:34.24 美国语言环境输出:34.24 和欧洲语言环境输出:34,24
  • 所以您只想在语言环境是欧洲时才更改它?在这种情况下,只需将当前语言环境测试为欧洲语言环境,如果为真,则按照其他问题中的方式应用转换

标签: ios objective-c nsnumberformatter


【解决方案1】:

尝试关注;

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init]; 
numberFormatter.locale = [NSLocale currentLocale]; 
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle; 
numberFormatter.usesGroupingSeparator = YES;

NSString* str = [NSString StringWithFormat:@"%@", 
[numberFormatter stringForObjectValue:dd]];

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 2011-03-12
    • 2014-12-31
    • 2015-11-21
    • 1970-01-01
    相关资源
    最近更新 更多