Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 16:39   #1
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию Округление с заданным числом знаков и точностью(Delphi)

Приветствую. У меня возник странный вопрос об округлении числа. В Delphi есть функция в модуле math под именем RoundTo, которая при таков вызове RoundTo(5.05,-1) округлит число до 5, но ведь должно быть 5.1? Вот почему он так округляет не понимаю... Что посоветуете использовать вместо нее? Или же я просто не так понял смысл ее работы. Сам использую ее в функции для перевод вещественного числа в строку с заданным числом знаков после запятой, например 5.0001 с точностью один знак должна стать 5.0
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 27.10.2009, 16:45   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы бы в хэлпе про эту функцию посмотрели бы.
Она использует специфический метод:
Цитата:
RoundTo uses “Banker’s Rounding” to determine how to round values
и в примере приведен такой же странный результат ее работы:
Цитата:
RoundTo(1.235, -2) 1.24
RoundTo(1.245, -2) 1.24
mihali4 вне форума Ответить с цитированием
Старый 27.10.2009, 17:57   #3
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
А вы бы в хэлпе про эту функцию посмотрели бы.
Она использует специфический метод:

и в примере приведен такой же странный результат ее работы:
Да уж придется от нее отказаться. А то я и не заметил по невнимательности, пробовал с другими работало норм, а это нарвался и не то... Буду копать может поможет установка режима округления.
Страх это слабость и потому, кто испугался уже побежден.

Последний раз редактировалось Mixasik; 27.10.2009 в 18:04.
Mixasik вне форума Ответить с цитированием
Старый 27.10.2009, 21:00   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Есть функция то-ли FormatFloat то-ли наподобии, (слово Format тут ключевое). Можно настроить вывод как угодно, путем задания параметров, там маску задаешь для числа. Смотри в справке описание функции и параметров.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 28.10.2009, 09:21   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Format или FloatToStrF.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal, цикл с заданным числом повторений mondi Помощь студентам 8 13.11.2008 17:55
Печать водяных знаков на документах при помощи Delphi Pitonio Помощь студентам 6 12.08.2008 10:51
Цикл с заданным числом повторений Extrem_um Помощь студентам 3 02.04.2008 21:00