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

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

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;
}

以上是没有考虑那么一点点空间的问题;如果考虑那点空间问题,可以这样做。

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

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注