+ -
当前位置:首页 → 问答吧 → 曲高和寡:将10进制数字转换为26位字母进制。

曲高和寡:将10进制数字转换为26位字母进制。

时间:2008-09-23

来源:互联网

[php]<?php
function transfer($int, &$a)
{
if($int>26)
{
  $a[] = $int%26;
  if(floor($int/26)>26)
  {
   return transfer(floor($int/26),$a);
  }
  else
  {
   return $a[] = floor($int/26);
  }
}
return $a[]=$int;
}
function IntToABC($int)
{
transfer($int, $w);
$abc=array();
$s = 1;
for($i=97; $i<=122; $i++)
{
  $abc[$s] = chr($i);
  $s++;
}
$result = '';
for($i=0;$i<count($w); $i++)
{
  $w[$i] = $w[$i]==0 ? 1 : $w[$i];
  $result = $abc[$w[$i]].$result;
}
return $result;
}
echo IntToABC(260);
//chr
?> [/php]
曲高和寡的原因大家谅解,没人回贴啊。

作者: wz_910   发布时间: 2008-09-23


function ten226($n)
{
        $n = strval($n);
        $new = '';
        while($n > 0){
                $new = chr(($n % 26)+97) . $new;
                $n = intval($n / 26);
        }
        return $new;
}
echo ten226(34);
echo ten226(260);


楼主想要的是这个函数么?

作者: slawdan   发布时间: 2008-09-24

楼主恰好举了个证明你的有错的例子~~

困了,回家睡觉去了……

作者: slawdan   发布时间: 2008-09-24

原帖由 slawdan 于 2008-9-24 06:15 发表
楼主恰好举了个证明你的有错的例子~~

困了,回家睡觉去了……
哥们回家睡醒了再来。不知道谁错了。瞎整啥呀

作者: wz_910   发布时间: 2008-09-25

兄台

作者: lxylxy888666   发布时间: 2008-09-25

呵呵,总有这样的人的,
淡然看之即可。

作者: laruence   发布时间: 2008-09-25

好东西哦,学习了www.php.cn

作者: ahsxw   发布时间: 2008-09-28

excel只有255列[php]function zycbob($n){
    $n = ($n>=1 && $n<=255)?strval($n):'';
    if(empty($n)){return false;}
    $s = $n>26?chr(intval(($n-1)/26)+64):'';
    $g = chr((($n-1) % 26)+65);
    return $s.$g;
}
echo zycbob(1).'<br />'; //A
echo zycbob(26).'<br />';//Z
echo zycbob(27).'<br />';//AA
echo zycbob(28).'<br />';//AB
echo zycbob(53).'<br />';//BA[/php]

作者: zycbob   发布时间: 2008-10-02