powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Окруление
10 сообщений из 10, страница 1 из 1
Окруление
    #32484373
inwin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, простите за темность...
Подскажите как в отчете округлить сумму до 10.
К примеру если выходит сумма 15678, что бы она становилась 15680
...
Рейтинг: 0 / 0
Окруление
    #32484391
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
round( 15678 / 10 , 0 )* 10 
...
Рейтинг: 0 / 0
Окруление
    #32484398
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
int(x/10+0.5)*10
...
Рейтинг: 0 / 0
Окруление
    #32484409
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cогласен с ВC, совет более универсальный, в Acc97 нет ф-ии Round ;)
...
Рейтинг: 0 / 0
Окруление
    #32484421
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для VBA

okrug = Sgn(Number) * Int(CDec(Number) * 10 ^ NumDigits + 0.5) / 10 ^ NumDigits
где Number -число
Number - число знаков после запятой (если с минусом задавать, то до запятой)

все остальное выкинь
...
Рейтинг: 0 / 0
Окруление
    #32484423
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где Number -число
NumDigits - число знаков после запятой (если с минусом задавать, то до запятой)
...
Рейтинг: 0 / 0
Окруление
    #32484437
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мой ответ был в точности частным случаем этого. Приятно осознавать. :^)
...
Рейтинг: 0 / 0
Окруление
    #32484521
amel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может на что сгодится и мой вариант!
Public Function RoundDigit(Number As Variant, Optional NumDigits As Long = 2) As Double
Dim dblPower As Double
Dim varTemp As Variant
Dim intsgn As Integer
If Not IsNumeric(Number) Then
RoundDigit = 0
Exit Function
End If
If Number = 0 Then
RoundDigit = 0
Exit Function
End If
dblPower = 10 ^ NumDigits
intsgn = Sgn(Number)
Number = Abs(Number)
varTemp = CDec(Number) * dblPower + 0.5
RoundDigit = intsgn * Int(varTemp) / dblPower
End Function
...
Рейтинг: 0 / 0
Окруление
    #32484689
Valer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
toch - число знаков после зпт
если < 0 -1,-2 ... то округляет до десятков , сотен и тд

Function mround(xx As Variant, toch As Long) As Double
Dim wsp, wsp2 As Long
Dim wsp1 As Double
wsp2 = (10 ^ Abs(toch))
If toch >= 0 Then
wsp1 = xx * wsp2
wsp = Int(xx * wsp2)
If wsp1 - wsp >= 1 / 2 Then
mround = (wsp + 1) / wsp2
Else
mround = (wsp) / wsp2
End If
Else
wsp1 = xx / wsp2
wsp = Int(xx / wsp2)
If wsp1 - wsp >= 1 / 2 Then
mround = (wsp + 1) * wsp2
Else
mround = (wsp) * wsp2
End If
End If
End Function
...
Рейтинг: 0 / 0
Окруление
    #32485733
inwin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула Владимира Саныча подошла как нельзя лучше, огромное спасибо)))
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Окруление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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