我正在开发一个使用单词而不是数字进行基本计算的程序。例如,5 + 2 将输出 7。
程序变得更加复杂,接受诸如 two_hundred_one + Five_thousand_six (201 + 5006) 之类的输入
通过运算符重载方法,我拆分每个数字并将其分配给它自己的数组索引。
两个是 [0],一百是 [1],一个是 [2]。然后阵列回收 5006。
我的问题是,要执行实际计算,我需要将存储在数组中的单词转换为实际整数。
我有这样的 const 字符串数组作为单词库:
const string units[] = { "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
const string teens[] = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
const string tens[] = { "", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
如果我的“令牌”数组在索引 0、1 和 2 中存储了 201 个,我不确定将这些转换为整数的最佳方法是什么。