Blue
Red
Green
Orange
Voilet
Slate
Dark

字符转数字问题(50)

N

nanshan

Unregistered / Unconfirmed
GUEST, unregistred user!
function StrtoSSS(const S: string): Double;var D: Double; B: array[0..7] of byte absolute D; I: Integer;begin for I := 0 to Length(S) - 1 do B := byte(S[I + 1]); Result := D;end;function SSStoStr(const X: Double): string;var P: PByte; I: Integer; S: Integer; ii:integer;begin S := SizeOf(X); P := @X; Result := ''; for I := 0 to S - 1 do begin ii:= P^; Result := Result + Char(ii); Inc(P); endend;12345678 转回来成了 62345678 怎么解决
 
P

power255

Unregistered / Unconfirmed
GUEST, unregistred user!
是你保存Double的位数有问题,你试一下ShowMessage(SSStoStr(StrtoSSS('12345678')));
 
J

JohnYale

Unregistered / Unconfirmed
GUEST, unregistred user!
没错啊。是你开始就写成了 62345678 吧
 
N

nanshan

Unregistered / Unconfirmed
GUEST, unregistred user!
问题已经解决,换了成了int64就可以了,大概是数字精度出了问题。
 

Similar threads

S
回复
0
查看
632
SUNSTONE的Delphi笔记
S
S
回复
0
查看
607
SUNSTONE的Delphi笔记
S
S
回复
0
查看
617
SUNSTONE的Delphi笔记
S
S
回复
0
查看
618
SUNSTONE的Delphi笔记
S
I
回复
0
查看
599
import
I
顶部 底部