我想把一个像77这样的数字变成一个字符串,但是我不能使用ascii,因为它只是从0到9。有没有办法让数字成为一个字符串?所以这是最后的结果:你输入一个数字,它输出数字,但作为一个字符串。示例:输入:123;输出:" 123"
答案 0 :(得分:2)
谁对ascii说了什么? C ++标准没有。
改为使用与平台无关的std::to_string(77)
。
参考:http://en.cppreference.com/w/cpp/string/basic_string/to_string
答案 1 :(得分:2)
每个数字都可以使用ASCII。数字123使用1,a 2和a 3,表示该值的字符串使用字符'1'
,'2'
和'3'
。
自己进行转换的方法是自己获取每个数字并将数字添加到'0'
。像这样:
int value = 123
std::string result;
while (value != 0) {
int digit = value % 10;
char digit_as_character = digit + '0';
result.insert(0, 1, digit_as_character);
value = value / 10;
}
如果你是亲手做的话,这就是你要做的事情: