急!怎样才能把十进制转为36进制???在线等待..(200分)

  • 主题发起人 主题发起人 gbyahoo
  • 开始时间 开始时间
G

gbyahoo

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样才能把十进制转为36进制??
如149999十进制-》37QN三十六进制
{0-9,A-Z}
 
function IntTo37(Value: Integer): String;
const
ValueArray: array[0..35] of char=('0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B',
'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T',
'U', 'V', 'W', 'X', 'Y', 'Z');
var
i: Integer;
begin
Result := '';
while Value>=36 do
begin
i := Value mod 36;
Result := ValueArray+Result;
Value := (Value-i) div 36;
end;
Result := ValueArray[Value]+Result;
end;
 
怎么反过来推算?
37QN -》 149999十进制
 
其实很有意思的答案,HOHO
-------------------------
37QN = 3*36的三次方 + 7*36的二次方 + Q(是多少,表对应一下就可以)*36的一次方 + N*36的0次方 = 149999,取到串好了,用IntToStr
-------------------------
 
算了

今天不是很忙

再來一個

function TToInt(Value: String): Integer;
var
i, Bit: Integer;
begin
Result := 0;
for i := 1 to Length(Value) do
begin
Bit := Ord(Value)-48;
if Bit>9 then
Bit := Bit-7;
Result := Result*36+Bit;
end;
end;
 
to zealothasu
谢谢!请留下你的qq.
 
如果要是負數自己先把負號去掉
然後算出來後再加上去

不像改了

小數沒有考慮
好像很麻煩的

 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
743
import
I
I
回复
0
查看
666
import
I
后退
顶部