Здравствуйте, Alexei_z_, Вы писали:
A__>Добрый день,
A__>возникла следующая проблема:
A__>Нужно округлить число с плавающей точкой.
A__>Например, у меня есть
A__>0.10000000005
A__>я хочу сделать 0.10
A__>у меня есть 0.2500000009
A__>я хочу 0.25
A__>Как это сделать в C#?
A__>Пробовал так:
A__>A__>int value = 5;
A__>float val = (float)value;
A__>val =val/100; //val = 0.0500000007
A__>float valR = (float)Math.Round(val,1); //=0.100000001
A__>valR = (float)Math.Round(val,2); //=0.0500000007
A__>valR = (float)Math.Round(val,3);//=0.0500000007
A__>
A__>?
Тебе для расчетов или для вывода на экран (принтер) ?
Если для расчетов, то всё правильно (у меня кстати, округляются до тех знаков, что указаны, т.е.
valR = (float)Math.Round(val,2); //=0.05
А если тебе надо вывести на печать :
string S = valR.ToString("0.00");
Всё заканчивается плохо. Если что-то закончилось хорошо — значит оно еще не закончилось.