Показать сообщение отдельно
Старый 16.12.2005, 02:23   #5
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
видать не получится сделать строку в вещественное число, и все из-за неточности вычислений паскаля...

вот накидал тут прогу:

program fff;

var str:string;
     i:integer;


function s2r(sval:string):real;

var p:integer;
i,svall:integer;
s,s1,ind:real;

begin

 p:=pos(sval,'.');
 s:=0;
 ind:=1;
 svall:=length(sval);
 
 for i:=0 to p do begin
 s:=s+StringToInteger(GetChar(sval,p-i-1))*ind;
 ind:=ind*10;
 end;
 
 ind:=10;
 for i:=p+1 to svall do begin
 s:=s+StringToInteger(GetChar(sval,i))/ind;
 ind:=ind*10;
 end;
 
 
 
 s2r:=s;

end;


begin
        str:='564.36';
        SetColor(255, 255, 255); 
        FillRect(0, 0, GetWidth, GetHeight);
        SetColor(0, 0, 0); 
        drawText('Source: '+str, 0, 0);
        drawText('Target: '+S2R(str), 0, 20);
        repaint;   
        delay(50000);
end.
и что ты думаешь? вот ставлю последнюю 6, результат идет 59... ставлю 5, идет 49...

__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием