Другие языки программирования и технологии

Как перевести число из вещественного вида в десятичный?

Ну, т.е. какой алгоритм перевода? Как это вообще считается?
Артур Матузов
Артур Матузов
8 596
Из коментариев я понял, что у вас проблема вывода результата в задаче.
Если число описано как целое, то оно в паскале выводится нормально, если как real то оно выводится в виде
а * 10 в степени е, например 0.2 выведится в виде 2.0000000000Е-001, т. е. 2 * 10 в степени -1, чтобы это же число вывести нормально надо отформатировать ввод. например в переменной а лежит число 0.2, чтобы оно вывелось как 0.2 надо написать writeln(a:2:2); это мы задали показать 2 знака перед запятой и 2 знака после запятой, пример с выводом данных ниже.

program b;
var
a : real;
begin
a := 0.2;
writeln(a);
writeln('Этоже число после форматирования. ');
writeln(a:2:2);
readln;
end.
СМ
Сергей Матвейкин
1 683
Лучший ответ
Сергей Матвейкин Ну а как округлить или взять целую часть смотри ответ выше.
Алексей Кириллов первое число в маске - это не показатель сколько знаков до запятой, а сколько их вообще, а через двоеточие, как было верно отмечено, это кол-во знаков после запятой...
Налицо смешение понятий.
Система счисления :
Двоичная, восьмеричная, шестнадцеричная, десятичная, двадцатеричная и т. д.
и собственно чисел:
Целые, рациональные, иррациональные, вещественные, комплексные, кватернионы и т. д.
А собственно алгоритм перевода зависит от того как закодировано то или иное число. Задача сводится к перекодировке. В любом языке высокого уровня полно встроенных функций для этого.
NJ
Nurik Jarmatov
13 991
Артур Матузов Ну может и смещение... А может просто вопрос не так сформулировал. Просто в том же паскале тип integer называется целочисленным, а тип real вещественным. И тип real выводится в виде, например, 1.9E+11 Вот я и хотел узнать что сие означает и как это понимать. Вроде уже выяснил.
Что за десятичный тип числа?? ? Если нужно перевеси из вещественного в целый, то по идее нужно округлять... Или взять от него целую часть, в зависимости что нужно в задаче.. . Для языка паскаль округлить это операция Round(x); взять целую часть Trunc(x);
Артур Матузов Ну, например 1.7674E-15 - это какое число?
напиши, какое число ты называешь вещественным, и какое десятичным. Пример
Артур Матузов Ну, например, 1.7674E-15 - это какое число? Всмысле в виде 0,00...
тупо округлить
Артур Матузов Как его округлить то? Взять несколько первых цифр до E? В некоторых случаях первые цифры вообще не совпадают с десятичным видом...