Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
ВнизКак увеличить переменную типа double на 0.5 ? Найти похожие ветки
← →
Ptr (2003-12-02 14:08) [0]Как увеличить переменную типа double на 0.5 ?
← →
Юрий Зотов (2003-12-02 14:12) [1]Ни за что не поверите - прибавить к ней 0.5
← →
Ptr (2003-12-02 14:15) [2];))
Спасибо !
например:
var x: double
begin
x := 0;
x := x+0.5;
x = ? по вашему 0.5
а получается x = 0.500000000000000006
← →
Тимохов (2003-12-02 14:17) [3]Ах вот Вы о чем.
Так устроены числа с плав. точкой, и если не ошибаюсь, то не только в delpi.
Пользуйтесь другим типов, например currency или еще чем.
← →
Ptr (2003-12-02 14:19) [4]И на этом спасибо
← →
_юзер_ (2003-12-02 14:21) [5]используй вместо double extended и таких проблем не будет
← →
Eugene1501 (2003-12-02 14:23) [6]Или реши какая точность тебе нужна, сделай функцию округления до нужного кол-ва знаков после запятой и
x := 0;
x :=MyRound(x+0.5);
x = ?
← →
Ptr (2003-12-02 14:25) [7]C extended не получается проще всего конечно работать с Currency
СПАСИБО ВСЕМ ЗА УЧАСТИЕ !!!!!!!!!!!!
← →
tipman (2003-12-02 14:25) [8]Юрий Зотов © (02.12.03 14:12) [1]
Вау! Круто!!!!! Теперь я так всегда и буду делать!
Ptr (02.12.03 14:08)
А в чём ваще проблема?
Я както сам натыкался на такое:
var a,b:Double;
.....
a:=1
b:=b+a/2
то прибавится что-то около 0.5, но не 0.5, и решение тока округлять до нужной точности
← →
Sergey_Masloff (2003-12-02 14:35) [9]tipman ©, Ptr
Ребята, ну про машинное представление чисел прочитать - ну 2 часа времени нужно. И на всю жизнь запомнить. Слабо?
Нам про это (представление вещественных чисел) рассказывали на информатике за полгода до того как к машине подпустить в первый раз. Проблем с пониманием ни у кого не возникло. А сейчас этот вопрос в разных вариациях на всех форумах по программированию по 3 раза в неделю поднимается.
← →
k-man (2003-12-02 15:03) [10]
> x = ? по вашему 0.5
> а получается x = 0.500000000000000006
Мимец просто :)
Ежели точность нужна юзай Currency например...
На каждом столбе написано :)
← →
Тимохов (2003-12-02 15:24) [11]Можно еще использовать decimal (там точность до 10 знаков после запятой) - но это для фанатов, т.к. в дельфи его напрямую нет - надо юзать oleaut32.dll.
← →
Юрий Зотов (2003-12-02 15:38) [12]> Ptr
> tipman
> и всем другим, не знающим, что такое вещественные числа и не умеющим с ними работать
Читать вот это до полного просветления сознания:
http://www.delphikingdom.ru/helloworld/reals.htm
← →
Тимохов (2003-12-02 17:22) [13]Особая благодарность Юрию Зотову, за отличную ссылку!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c