NSFormatter 的spellout
方法可以让你将一个单词转换成一个数字。NSStringstringByReplacingOccurrencesOfString
允许您将千位等字符串转换为 1000。您可以使用NSCharacterSet
. 但是,我正在努力解决如何将数字和字符串的混合,例如,about 2.4 million
或comes to 5 hundred
转换为数字。问题是将“240 万”从“关于”或其他文本中分离出来。
将拼写应用于“240 万”会产生 2400000。但是,将其应用于“大约 240 万”会产生错误。
extension NSString {
public var asNum: NSNumber {
// let stringValue = String(value: self)
let stringValue = self
let formatter = NumberFormatter()
formatter.isLenient = true
formatter.numberStyle = .spellOut
return formatter.number(from: stringValue as String) ?? -1
}
}
如何仅隔离属于有效数字的术语?