Re[4]: Проблема с double
От: sheep2k Россия  
Дата: 10.06.06 08:21
Оценка:
Здравствуйте, kon_v_palto, Вы писали:

__>Похоже тебе нужен Decimal а не double.


__>Типы с плавоющей точкой хранятся в виде a*2^b, отсюда и косяки с присвоением десятичных значений, а потом с вычислениями, и это относится ко всем языкам а не только к C#.


__>А Decimal храниться в десятичном виде.


Нужен мненно double.
Но я победил NUnit, просто невнимательно вчера посмотрел метод Assert.AreEqual(). Оказывается для сравнения double можно указать дельту.

Вообщем, моя конкретная проблема решается так:


[Test]
public void MultiplyTest()
{
    double x = 20.10;
    double a = 3.50;
    double z = x * a;
    Assert.AreEqual(70.35d, z, 0.001);
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.