我需要将字符串转换为整数。例如,我想将第六转换为6。
我使用IBM的库ICU做倒数(6→第六)。
private val String.spellout: String
get() {
val esFormatter = RuleBasedNumberFormat(Locale.ENGLISH, RuleBasedNumberFormat.SPELLOUT)
return esFormatter.format(this.toDouble(), "%spellout-ordinal")
}
我想创建另一个方法,该方法采用该拼写出来的字符串并将其转换为双精度(第六→6)
答案 0 :(得分:2)
从评论中获得帮助后,这是我的解决方案,以防万一其他人需要它:
private val String.numberFromSpelledOut: Boolean
get() {
val esFormatter = RuleBasedNumberFormat(Locale.ENGLISH, RuleBasedNumberFormat.SPELLOUT)
return try {
return esFormatter.parse(this)
} catch (e: ParseException) {
""
}
}
对于无效的拼写输入,这不应引发异常。