Здравствуйте, Unforgiver, Вы писали:
U>Здравствуйте, 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__>>?
U>Тебе для расчетов или для вывода на экран (принтер) ?
U>Если для расчетов, то всё правильно (у меня кстати, округляются до тех знаков, что указаны, т.е.
U>U>valR = (float)Math.Round(val,2); //=0.05
U>
U>А если тебе надо вывести на печать :
U>U>string S = valR.ToString("0.00");
U>
Да, в том то и дело — на одной машине правильно — на второй — нет.
Мне для расчетов.