一个 Formatter
的子类,用于将数字格式化为罗马数字。 支持 0 到 400 万(不包含 400 万)之间的数字。
要使用此格式化器,请创建一个 RomanNumeralFormatter
的实例,并像这样使用它
let formatter = RomanNumeralFormatter()
let string = formatter.string(for: 42) // "XLII"
let formatter = RomanNumeralFormatter()
var int = NSNumber(integerLiteral: 0) as AnyObject?
let success = formatter.getObjectValue(&int, for: "IX", errorDescription: nil)
if success {
let intValue = (int as? NSNumber)?.intValue // 9
}
大多数罗马数字格式化器在 4,000 处停止。 但是,使用 Unicode 上横线字符,我们可以表示更大的数字,直到(但不包括)400 万。
let formatter = RomanNumeralFormatter()
let string = formatter.string(for: 3_999_999) // "M̅M̅M̅C̅M̅X̅C̅I̅X̅CMXCIX"