将数字转换成字符串有很多方法,现在给出一种高效的实现方法。开阔眼界。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
char * int2str(unsigned int values) { const char digits[11] = "0123456789" ; char * crtn = new char [32]; crtn += 31; *crtn = '\0' ; do { *--crtn = digits[values%10]; } while (values /= 10); return crtn; } |
以上是没有考虑那么一点点空间的问题;如果考虑那点空间问题,可以这样做。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
char * int2str(unsigned int values) { int len = 0; const char digits[11] = "0123456789" ; unsigned int tvalue = values; while (tvalue >= 100) { tvalue /= 100; len += 2; } if (tvalue > 10) len += 2; else if (tvalue > 0) len++; char * crtn = new char [len+1]; crtn += len; *crtn = '\0' ; do { *--crtn = digits[values%10]; } while (values /= 10); return crtn; } |
同样,带符号的整数一样的做法。
以上这篇高效实现整型数字转字符串int2str的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。