Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Вниз

Почему Delphi делит не верно? 


BigLamer   (2002-01-04 12:57) [0]

Почему следующий код выдает неверное значение переменной k? Ведь должно получаться так что k=0.1 , а получается k=0,100000001490116. Я с этим уже сталкивался давным-давно, но забыл в чем тут дело.


procedure TForm1.FormActivate(Sender: TObject);
var
k:single;
begin
k:=1/10;
Edit1.Text:=FloatToStr(k);
end;



Alx2   (2002-01-04 13:06) [1]

Так все происходит с точностью до машинного ноля. Тем более, тип single 4-х байтовый. У него "машинный ноль" довольно большой



Юрий Зотов   (2002-01-04 13:09) [2]

Это совершенно нормальная вещь и Delphi здесь абсолютно ни при чем. Уж такова машинная арифметика действительных чисел. Все, что можно здесь сделать - это повысить точность, объявив k типа double или extended.

Исчерпывающие разъяснения см. здесь:
http://www.delphikingdom.com/helloworld/reals.htm



Alx2   (2002-01-04 13:11) [3]

Также из Help узнаем, что тип single имеет 7-8 значащих цифр.
В Вашем примере верными являются 8 цифр. Большего требовать от типа single не получится



BigLamer   (2002-01-04 13:31) [4]

Благодарствую, double -помогло.Но я хотел с single. Ну да ладно и так сойдет.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.033 c
6-66326           OGR                   2001-10-25 15:55  2002.01.21  
HTML Parsing


3-66212           Andrey196             2001-12-18 23:32  2002.01.21  
Обьесните мне толком что делает DBLookupComboBox, а то я немогу понять подходит ли он мне или нет?


1-66299           ctapik-net            2002-01-02 14:36  2002.01.21  
Есть форма, необходимо нарисованное изображение на ней увеличить или уменьшить.


7-66366           borman                2001-10-02 06:31  2002.01.21  
Меню Завершение работы


14-66349          Seeree                2001-11-23 14:33  2002.01.21  
Промышленное и заказное программирование