Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в Паскале оставить только 2 знака после запятой в ответе программы БЕЗ ОКРУГЛЕНИЯ?

Белослудцев юра Знаток (429), на голосовании 1 год назад
Как в Паскале оставить только 2 знака после запятой в ответе программы БЕЗ ОКРУГЛЕНИЯ? Мне нужно что бы в ответе программы в данном случае получилось 0.07. Заранее спасибо за ответ!
Голосование за лучший ответ
kaiu Высший разум (117722) 1 год назад
обычно x:0:2
2 знака после запятой оставит.
Радован Штейн Мудрец (12195) 1 год назад
Можно достать левой ногой правое ухо и последовательно использовать операции приведения типов . Логика такая.

  1. Вот получен ответ. Он явно типа Real.
  2. Умножаете результат на 100.
  3. Приводите к Integer, ввиду чего откусывается дробная часть.
  4. Потом опять приводите к Real.
  5. Делите на 100.
  6. ...
  7. PROFIT!!!

Пример кода, как это работает. Знаю, что коряво и можно проще и короче.

begin
var a: integer;
var b: real;
var c: real;
b := 0.07078238237; //допустим, это наше вводное значение
b := b * 100; //при умножении на 100 получаем 0.07078238237 → 7.078238237
a := integer (b); //в ранее объявленную целочисленную переменную откусываем только целую часть переменной b, то есть, в нашем случае, семерку
c := real (a) / 100; //вещественной переменной c присваиваем целочисленное значение a, поделенное на 100, которое сначала приводим обратно в вещественный вид
writeln (c); // выдаст 0.07

end.
Похожие вопросы