Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Читал я предыдущие статьи. Все пишут о сложном. Объясните плз на простом примере. Таблица. В таблице поле тип money. В это поле помещается результат деления других полей. Например, 196,70 / 100 * 15 = 29,505 (в ячейке при просмотре в режиме таблицы 29,51 при нажатии на ячейку открывается 29,505) Как сделать так что бы поле фактически содержало 29,51 , а не показывало округление? Не подходит: 1. round((196,70 / 100 * 15),2) = 29.50 2. format((196,70 / 100 * 15),"0.00") = 29.50 ("standart", "fix") - тоже самое 3. RoundForBank((196,70 / 100 * 15),2,false) = 29.505 это приведенная пользователем Allll_ функция. Так как же добиться математического фактического округления как в Excel 2003 ОКРУГЛ()??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 00:34 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Да уж. Действительно ведет себя очень смешно. Хотя можно догадаться почему. Самый простой способ избавиться от этого добавить к результату 0.0005. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 10:27 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
У меня format отрабатывает нормально: format((196.70 / 100 * 15),"0.00") = 29.51 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 10:52 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Я валяюсь авторХотя функция Round полезна для возвращения номера с указанном числом десятичных знаков, Вы не можете предсказать, как будет выполненно округление, когда округляемая цифра равна 5. Как VB округляет число зависит от внутреннего двоичного представления переданного аргумента. Взято отсюда С уважением, Николай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 11:04 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Letter_DУ меня format отрабатывает нормально: format((196.70 / 100 * 15),"0.00") = 29.51 Подтверждаю, только что проверил у себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 11:06 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
авторХотя функция Round полезна для возвращения номера с указанном числом десятичных знаков, Вы не можете предсказать, как будет выполненно округление, когда округляемая цифра равна 5 Округляет в сторону ближайшего четного, специальный математический прием в статистике... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 11:13 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Странно, то работает, то нет. Может зависит от типа поля в таблице, т.к. данные для вычислений берутся из базы. А вариант в чистом виде: format((196.70 / 100 * 15),"0.00") = 29.51 - работает!!! Буду тестировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 13:36 |
|
||
|
Еще раз про округление
|
|||
|---|---|---|---|
|
#18+
Тут тоже было Round от VBA глючит похоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 12:53 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35132447&tid=2159958]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 135ms |

| 0 / 0 |
