Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: Про математику... 0,5 - 0,4 не равно 0,1 ??? Добавлено: 11.06.11 21:50  

Автор вопроса:  DimBi

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 16
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #16
Добавлено: 14.06.11 18:41
Дробные числа не желательно сравнивать через ==, опасно! В вб ещё может прокатить (бывает, пи делишь на 10000, складываешь, и получаешь снова пи, но лучше не надеяться)

Ответить

Номер ответа: 17
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #17
Добавлено: 16.06.11 09:20
Числа с плавающей точкой не гарантируют точность... Сравнивать их нужно соответствующим образом. Не aaa == bbb, а Math.Abs(aaa - bbb) < eps, где eps - некоторое малое число, например 0.0001, варьировать можно исходя из поставленной задачи.

Ответить

Номер ответа: 18
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #18
Добавлено: 16.06.11 19:07
Павел, ога, недавно так пришлось сделать - в C++ double был равен -0.00000000 и так и отображался (расчитвылся из выражения типа 0.0 - 0.0) так этот **** C++ не понимал, что это число < 0 то есть if() statement в методе angleTo360 не срабатывало и угол оставался отрицательным. Решили как ты сказал, через модуль (fabs); хорошо хоть он не через if-then-else написан оказался

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам