Цитата мудреца

Голосование

Какими из перечисленных способов Вы готовы оплачивать покупки в интернет-магазинах?
 
Система Orphus. Если вы заметили ошибку на сайте, нажмите сюда.
Загружается, подождите...
Начало сайта Материалы сайта Программы Статьи для начинающих программистов
Версия для слабовидящих
Версия для печати

Округление до заданного числа значащих цифр

С января 2004 года журнал "Магия ПК" начал публиковать мои статьи для начинающих программистов. В них я рассказываю как прописные истины (применение различных операторов языка Паскаль), так и делюсь "секретами" (различными подходами к решению тех или иных задач).

Идея начать цикл статей посвящённых азам и секретам программирования родилась спонтанно. Один мой знакомый начал изучать программирование. Выучив несколько языков, которые требовали в институте, он так и не смог понять принцип, как же писать программы, как подойти к решению тех или иных задач. Именно для помощи в таких ситуациях, я и решил начать писать. Для этого пригодился и опыт преподавания языков программирования на компьютерных курсах (1990 г.).

Эти статьи предназначены для начинающих программистов, точнее для тех, кто решил попробовать себя в программировании. Самое первое препятствие на этом пути — страх перед трудностями, перед кажущейся сложностью процесса составления программ. Для того, чтобы помочь упростить сложные задачи — эти статьи.
  Сообщений: 8 • Страница 1 из 1

Только по дробной части

Здравствуйте, как сделать чтобы алгоритм округлял до значащих цифр только после запятой, а целую часть не трогал?
Ответить


yura371, предварительно отделите целую и дробную часть. С дробной сделайте то, что Вам необходимо, а потом прибавьте к результату целую часть.
Ответить


Спасибо, так и сделаю.
Ответить


Округление Delphi 7

Здравствуйте подскажите пожалуйста, я пытаюсь выполнить вычисления и потом округлить, но округление не проходит в большую сторону(по правилу если до после округляемого числа знаков пятерка то вверх округляем). Зачем так получается?

R:=0.5*74.707;
R:=StrToFloat(FormatFloat('###',R));
Edit1.Text:=StrToFloat(R);

В Edit1.Text получается 37,353 вместо 37,354. Как же правильно округлить?
Ответить


Это выражение посмотрите, то неправильно:
R:=37.355;
R:=StrToFloat(FormatFloat('0.###',R));
Ответить


yura371, Вы пытаетесь сделать округление через строку. А зачем? Текстовое форматирование вообще не обращает внимание на последующие цифры. Оно лишь отсекает ненужное.
Для того, чтобы было правильное округление, нужно использовать функцию round. Но на каком месте округлять - нужно выбирать.
Почитайте ещё раз статью. Там я об этом пишу.
Ответить


Все работает и обращает внимание на последующую цифру. Нужно было изменить real на extended.
А round ведь же округляет только до целого значения.
Ответить


yura371 писал(а):А round ведь же округляет только до целого значения.

Ну так там в примере рассказано, как от этого уйти.
Ответить



  Сообщений: 8 • Страница 1 из 1

Вернуться в Статьи для начинающих программистов



Кто сейчас на сайте

Зарегистрированные пользователи: Yahoo [Bot], Yandex [bot]