|
|
|
Окруление
|
|||
|---|---|---|---|
|
#18+
Господа, простите за темность... Подскажите как в отчете округлить сумму до 10. К примеру если выходит сумма 15678, что бы она становилась 15680 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:34 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:39 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
int(x/10+0.5)*10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:42 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
cогласен с ВC, совет более универсальный, в Acc97 нет ф-ии Round ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:45 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
для VBA okrug = Sgn(Number) * Int(CDec(Number) * 10 ^ NumDigits + 0.5) / 10 ^ NumDigits где Number -число Number - число знаков после запятой (если с минусом задавать, то до запятой) все остальное выкинь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:48 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
где Number -число NumDigits - число знаков после запятой (если с минусом задавать, то до запятой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:49 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
Мой ответ был в точности частным случаем этого. Приятно осознавать. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:53 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
Может на что сгодится и мой вариант! 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 15:24 |
|
||
|
Окруление
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32484689&tid=1675240]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 417ms |

| 0 / 0 |
