【问题标题】:How do I convert an NSInteger to the corresponding words in objective-c with indian rupees [duplicate]如何使用印度卢比将 NSInteger 转换为objective-c中的相应单词[重复]
【发布时间】:2017-04-05 05:07:05
【问题描述】:
NSInteger someNumber = 211242; 

我想知道一些函数,以便返回类似于 “仅 2011242 卢比”的字符串

【问题讨论】:

  • 使用 NSNumberFormatter
  • @Anbu.Karthik 我尝试了给定的链接并得到了 two hundred eleven thousand two hundred forty-two 。如何获取Two lakh eleven thousand 而不是two hundred eleven thousand
  • @RajeshkumarR - 它的示例链接,如何工作

标签: ios objective-c nsinteger


【解决方案1】:

这是解决方案。你必须使用 NSNumberFormatter

    NSInteger anInt = 11242043;
    NSString *wordNumber;

    //convert to words
    NSNumber *numberValue = [NSNumber numberWithInt:anInt]; //needs to be NSNumber!
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
    wordNumber = [numberFormatter stringFromNumber:numberValue];
    NSLog(@"Answer: %@", wordNumber);

Swift 解决方案:

extension Int {
    var asWord:String {
        let numberValue = NSNumber(integer: self)
        var formatter = NSNumberFormatter()
        formatter.numberStyle = .SpellOutStyle
        return "\(formatter.stringFromNumber(self)!)"
    }
}

【讨论】:

  • 我试过了,得到了two hundred eleven thousand two hundred forty-two。如何获取Two lakh eleven thousand 而不是two hundred eleven thousand
  • 了解您的问题。残酷的事实是,没有人支持这一点。您必须手动编写自己的数字格式化程序
猜你喜欢
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 2014-11-01
  • 2017-12-29
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 2010-11-07
相关资源
最近更新 更多