Здравствуйте, Аноним, Вы писали:
А>с .NET мало знаком, поэтому сильно не пинать...
А>проблема проста:
А>Decimal d = 15.2m; А>Single s = Convert.ToSingle(d); // s = 15.1999998, а надо 15.2 =)
Топик надо было называть "научите меня floating-point", никакого отношения к .NET это не имеет.
Открою тайну — не все десятичные цифры можно точно представить в виде чисел с плавающей точкой без потерь.
Это абсолютно нормальное поведение. Изучите как устроены floating-point числа, а потом курить в сторону Math.Round()