powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Округлить число (модуль в Access 97)
5 сообщений из 5, страница 1 из 1
Округлить число (модуль в Access 97)
    #32198592
guest__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеющаяся функция Int отбрасывает все знаки после запятой то есть int(5.9)=5. Функция Round работает в AccessХР а вот в 97 такой функции нет. Как можно округлить число чтоб 5.9 округлилось в 6?
...
Рейтинг: 0 / 0
Округлить число (модуль в Access 97)
    #32198595
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Int(x + 0.5)
...
Рейтинг: 0 / 0
Округлить число (модуль в Access 97)
    #32198604
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Саныч\r
\r
А пАчЕмУ + 0,50, а не 0,3? \r
\r
Guest - см. /topic/38108\r
там внутри ссылочка на болееразвернутое обсуждение
...
Рейтинг: 0 / 0
Округлить число (модуль в Access 97)
    #32198627
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Виктор, привет. :^) Я не заметил, мне кажется, что мы еще не дообсуждали. Я помню, что у тебя альтернативная версия 0.49 (или 0.49999), и хорошо, что ты сюда пришел. По-моему, в данном случае очевидно, что 0.49 не годится.

Int(0.505 + 0.49) = Int(0.995) = 0
Int(0.505 + 0.5) = Int(1.005) = 1

Я в том топике неправильно привел пример. По твоему способу неверно считается не от 0.49 до 0.5, а от 0.5 до 0.51.
...
Рейтинг: 0 / 0
Округлить число (модуль в Access 97)
    #32198649
Predator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Универсальна функция округления

Public Function RoundTwo(s As Variant) As Currency
'Округлят аргумент до двух знаков после запятой
' при возникновении ошибки возвращает НОЛЬ
Dim x As Long
On Error GoTo RoundTwoErr
x = Int(s * 100)
If s * 100 - x < 0.5 Then
RoundTwo = CCur(x / 100)
Else
RoundTwo = CCur((x + 1) / 100)
End If
Exit Function
RoundTwoErr: 'Метка обработчика ошибок
RoundTwo = 0
Err.Clear
End Function

Пользуйтесь
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Округлить число (модуль в Access 97)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]