高效实现整型数字转字符串int2str的方法

时间:2022-03-23 03:29:13

将数字转换成字符串有很多方法,现在给出一种高效的实现方法。开阔眼界。

?
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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。