Re: Научите меня преобразованию типов
От: Пельмешко Россия blog
Дата: 12.03.09 15:24
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>с .NET мало знаком, поэтому сильно не пинать...


А>проблема проста:


А>Decimal d = 15.2m;

А>Single s = Convert.ToSingle(d); // s = 15.1999998, а надо 15.2 =)

Топик надо было называть "научите меня floating-point", никакого отношения к .NET это не имеет.
Открою тайну — не все десятичные цифры можно точно представить в виде чисел с плавающей точкой без потерь.
Это абсолютно нормальное поведение. Изучите как устроены floating-point числа, а потом курить в сторону Math.Round()
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.