Почему в object pascal (free pascal) 400/2 = 4.0000000000000000e+002 ? и как это исправить? - Вопросы по Pascal
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Почему в object pascal (free pascal) 400/2 = 4.0000000000000000e+002 ? и как это исправить?

Регистрация
10 Июн 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
Почему в Object pascal (free pascal) 400/2 = 4.0000000000000000E+002 ?
и как это исправить?
 
Регистрация
28 Мар 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Принцип глупый но попробуй через переменные типа a=400 b=2 a/b да это костыль но должен работать
 
Регистрация
16 Авг 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
В некоторых версиях Паскаля дробное число выводится в инженерном формате - с указанием мантиссы и порядка.

По сути, 2.0000000000000000E+002 = 2 ⋅ 10² = 200.

Если вы хотите контролировать вывод дробного числа, то можете указать формат вывода. Например, так: writeln((400 / 2):1:2); Так число будет занимать 1 знакоместо или больше, при этом под дробную часть будет отведено ровно 2 знака. Результат будет 200.00.

Если же вы точно знаете, что результат будет целым, то вместо / используйте div.
 

iva

Capitan

iva

Capitan
Регистрация
10 Авг 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
Странный какой-то ответ, должен был быть
6063120_af1b03b951e97b02436d95a8aec99071_800.png

Что вполне нормально для числа с плавающей точкой
 
Сверху Снизу