如何从字符串转换为数字,反之亦然?

时间:2010-06-13 11:33:48

标签: c++ string

亲爱的

我是C ++的新手,所以也许有人可以说出一个正确的方法来编写一个获取字符串char(表示数字)并将其转换为整数的函数。

例如:输入:65,输出:65。

也许应该使用cin.getline()?

嗯,反之亦然有点傻眼......

谢谢你提前。 有约色

2 个答案:

答案 0 :(得分:2)

以下是解决方案关键部分的说明:

const char* digits[] = {"zero", "one", "two", ...};
const char* tens[] = {"ten", "twenty", "thirty", ...};

// Loop to compare input text tokens against above
...

这个想法是通过使用相应文本标记的数组索引作为转换为数字的方法来简化从文本到数字的转换,调整任何数组索引的起始差异。

使用strcmp C函数或== C ++字符串比较运算符,具体取决于您对输入文本标记的数据类型。

答案 1 :(得分:1)

这是如何在Ruby中处理它(也处理分数):

http://github.com/jduff/numerizer/blob/master/lib/numerizer.rb

转换为C ++不应该太难。