Π Π°Π±ΠΎΡ‚Π° с Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹ΠΌΠΈ суммами Π² систСмах класса 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ высокой точности ΠΈ соблюдСния ΠΏΡ€Π°Π²ΠΈΠ» Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ. Часто Π² бизнСс-процСссах Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ привСсти ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΡ€Π°Ρ‚Π½ΠΎΠΌΡƒ числу, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ 5 рублям. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ для формирования прайс-листов, упрощСния расчСтов с Π½Π°Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ срСдствами ΠΈΠ»ΠΈ спСцифичСских Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ отчСтности. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ срСдства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ нСсколько способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΡ‚ простых встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎ написания собствСнных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π° встроСнном языкС.

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ дисбалансу Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, Ρ€Π°ΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ сумм ΠΏΡ€ΠΈ свСркС взаиморасчСтов ΠΈ ошибкам Π² бухгалтСрских ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ°Ρ…. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² контСкстС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ округлСния, матСматичСскиС Π½ΡŽΠ°Π½ΡΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ значСниям ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для внСдрСния Π² ваши ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Рассмотрим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Ρ†Π΅Π½Π° Ρ‚ΠΎΠ²Π°Ρ€Π° составляСт 102 рубля, Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π½Ρ‹, ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 5. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ матСматичСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ здСсь Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 102 Π½Π΅ дСлится Π½Π° 5 Π±Π΅Π· остатка. Нам Π½ΡƒΠΆΠ΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΉΠ΄Π΅Ρ‚ блиТайшСС число, дСлящССся Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ шаг. Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ это рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ дСлСния, округлСния ΠΈ умноТСния, Π»ΠΈΠ±ΠΎ с использованиСм спСциализированных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ округлСния

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠ΄Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡƒΡ‚ΡŒ процСсса. ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ 5 Ρ€ΡƒΠ±Π»Π΅ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ блиТайшСС число ΠΈΠ· ряда 0, 5, 10, 15, 20 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Алгоритм дСйствий унивСрсалСн для Π»ΡŽΠ±Ρ‹Ρ… языков программирования. Π‘Π½Π°Ρ‡Π°Π»Π° исходноС число дСлится Π½Π° шаг округлСния (Π² нашСм случаС Π½Π° 5). Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ округляСтся Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

На послСднСм этапС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число умноТаСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° шаг. НапримСр, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ сумма 113 Ρ€ΡƒΠ±Π»Π΅ΠΉ. Π”Π΅Π»ΠΈΠΌ 113 Π½Π° 5, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 22.6. ΠžΠΊΡ€ΡƒΠ³Π»ΡΠ΅ΠΌ 22.6 Π΄ΠΎ 23. Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ 23 Π½Π° 5 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 115. Если Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»ΠΎ 111 Ρ€ΡƒΠ±Π»Π΅ΠΉ, Ρ‚ΠΎ 111 / 5 = 22.2, округляСтся Π΄ΠΎ 22, ΠΈ ΠΈΡ‚ΠΎΠ³ 22 * 5 = 110. 5 ΠΈ Π²Ρ‹ΡˆΠ΅ округляСтся Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π°Π»ΡŽΡ‚Π°ΠΌΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ (ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, округляСм Π»ΠΈ ΠΌΡ‹ Π΄ΠΎ Ρ†Π΅Π»Ρ‹Ρ… Ρ€ΡƒΠ±Π»Π΅ΠΉ, ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 5, ΠΈΠ»ΠΈ допускаСм ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ. Π§Π°Ρ‰Π΅ всСго ΠΏΠΎΠ΄ Ρ„Ρ€Π°Π·ΠΎΠΉ "ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ Π΄ΠΎ 5 Ρ€ΡƒΠ±Π»Π΅ΠΉ" ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, отбрасывая ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ Π½Π° этапС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС "банковского округлСния", ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… финансовых стандартах, Π½ΠΎ Π² Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… 1Π‘ Ρ‡Π°Ρ‰Π΅ примСняСтся коммСрчСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ: всСгда Π»ΠΈ ΠΌΡ‹ округляСм Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону (ΠΏΠΎΡ‚ΠΎΠ»ΠΎΠΊ) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ матСматичСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ блиТайшСго числа. ΠžΡ‚ этого зависит итоговая Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠ° ΠΈ Π»ΠΎΡΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

ИспользованиС встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠžΠΊΡ€ΡƒΠ³

Π’ языкС встроСнного программирования 1Π‘ сущСствуСт базовая функция ΠžΠΊΡ€ΡƒΠ³(), которая являСтся основным инструмСнтом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами. Однако ΠΎΠ½Π° ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ количСства Π·Π½Π°ΠΊΠΎΠ² послС запятой. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ для ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ округлСния, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ описанный Π²Ρ‹ΡˆΠ΅ матСматичСский Ρ‚Ρ€ΡŽΠΊ с Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прост: ΠžΠΊΡ€ΡƒΠ³(Число, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ—Π½Π°ΠΊΠΎΠ²).

Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π²Π΅Π½ 0, число округляСтся Π΄ΠΎ Ρ†Π΅Π»Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ этапа. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ‘ΡƒΠΌΠΌΠ° содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠœΡ‹ Π΄Π΅Π»ΠΈΠΌ Π΅Ρ‘ Π½Π° 5, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠžΠΊΡ€ΡƒΠ³ с Π½ΡƒΠ»Π΅ΠΌ Π·Π½Π°ΠΊΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° 5. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°Ρ‚Π΅Π½ пятСркС.

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ Π½Π΅ Π΄ΠΎ 5, Π° Π΄ΠΎ 10, 50 ΠΈΠ»ΠΈ 100, просто Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° останСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ для любого шага кратности.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1Π‘ Ρ‚ΠΈΠΏ Число ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ бСсконСчная Π΄Ρ€ΠΎΠ±ΡŒ, Π½ΠΎ функция ΠžΠΊΡ€ΡƒΠ³ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΅Ρ‘. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π½Π° этапС дСлСния. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски управляСт разрядной сСткой, поэтому Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия ΠΏΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… стандартных Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… рСгистров.

Алгоритм округлСния Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону (ΠŸΠΎΡ‚ΠΎΠ»ΠΎΠΊ)

Π’ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ часто встрСчаСтся Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ сумму ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для расчСта сдачи ΠΈΠ»ΠΈ формирования минимальной стоимости услуги. Если матСматичСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ 12 Ρ€ΡƒΠ±Π»Π΅ΠΉ Π΄ΠΎ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 5 даст 10 Ρ€ΡƒΠ±Π»Π΅ΠΉ, Ρ‚ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ "ΠΏΠΎΡ‚ΠΎΠ»ΠΊΠΎΠΌ" даст 15 Ρ€ΡƒΠ±Π»Π΅ΠΉ. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠžΠΊΡ€ΡƒΠ³ нСдостаточно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° симмСтрична.

Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ функция ΠžΠΊΡ€ΡƒΠ³Π’Π²Π΅Ρ€Ρ…() (ΠΈΠ»ΠΈ Ceil Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах, Π½ΠΎ Π² 1Π‘ это ΠžΠΊΡ€ΡƒΠ³Π’Π²Π΅Ρ€Ρ…). Она всСгда ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ число Π΄ΠΎ блиТайшСго большСго Ρ†Π΅Π»ΠΎΠ³ΠΎ, Ссли Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ какая-Ρ‚ΠΎ дробная Ρ‡Π°ΡΡ‚ΡŒ. Алгоритм Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½: Π΄Π΅Π»ΠΈΠΌ сумму Π½Π° 5, примСняСм ΠžΠΊΡ€ΡƒΠ³Π’Π²Π΅Ρ€Ρ…, ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° 5. Π”Π°ΠΆΠ΅ Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния Ρ€Π°Π²Π΅Π½ 2.01, функция Π²Π΅Ρ€Π½Π΅Ρ‚ 3, Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ даст 15.

Ѐункция ΠžΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒΠ”ΠΎΠŸΡΡ‚Π΅Ρ€ΠΊΠΈΠ’Π²Π΅Ρ€Ρ…(Π‘ΡƒΠΌΠΌΠ°)

Π¨Π°Π³ = 5;

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ = Π‘ΡƒΠΌΠΌΠ° / Π¨Π°Π³;

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½ΠΎΠ΅Π¦Π΅Π»ΠΎΠ΅ = ΠžΠΊΡ€ΡƒΠ³Π’Π²Π΅Ρ€Ρ…(ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½ΠΎΠ΅Π¦Π΅Π»ΠΎΠ΅ * Π¨Π°Π³;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ИспользованиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° цСлСсообразно Π² сцСнариях, Π³Π΄Π΅ нСдопустимо Π·Π°Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ стоимости. НапримСр, ΠΏΡ€ΠΈ расчСтС стоимости услуг, зависящСй ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Ρ‡Π°Π²ΡˆΠΈΠΉΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» тарифицируСтся ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½Ρ‹ΠΉ. Однако Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны: систСматичСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ накоплСнию ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π² массовых Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ вопросы Ρƒ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ ΠΏΡ€ΠΈ свСркС с ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌΠΈ источниками Π΄Π°Π½Π½Ρ‹Ρ….

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ округлСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ (Π΄ΠΎ блиТайшСго)
ВсСгда Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону
ВсСгда Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону
Волько отбрасываниС Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону (Пол)

ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ ситуация Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сумма Π½Π΅ прСвысит ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π»ΠΈΠΌΠΈΡ‚, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ расчСтС бонусов, Π³Π΄Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΈΠ»ΠΈ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π² зависимости ΠΎΡ‚ контСкста). Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция ΠžΠΊΡ€ΡƒΠ³Π’Π½ΠΈΠ·(). Она отбрасываСт Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, фактичСски приводя число ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ Ρ†Π΅Π»ΠΎΠΌΡƒ.

Π›ΠΎΠ³ΠΈΠΊΠ° построСния запроса ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° шаг, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ усСчСния, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Ρƒ нас сумма 118 Ρ€ΡƒΠ±Π»Π΅ΠΉ, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° 5 ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 23.6. Ѐункция ΠžΠΊΡ€ΡƒΠ³Π’Π½ΠΈΠ· ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ это Π² 23. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ сумма: 115 Ρ€ΡƒΠ±Π»Π΅ΠΉ. Π­Ρ‚ΠΎ классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с "ΠΏΠΎΠ»ΠΎΠΌ" значСния. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ часто примСняСтся ΠΏΡ€ΠΈ расчСтС количСства ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΎΠΊ Ρ‚ΠΎΠ²Π°Ρ€Π°, Ссли нСльзя ΠΏΡ€ΠΎΠ΄Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ, Π½ΠΎ Π² Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠ΅.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… числах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, суммы сторнирования ΠΈΠ»ΠΈ ΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ сальдо) ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ округлСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свои особСнности Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, хотя Π² соврСмСнных рСдакциях 1Π‘ ΠΎΠ½ΠΎ стандартизировано. ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° тСстовых Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями, Ссли ваша конфигурация ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌΠΈ суммами.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ значСния

ΠŸΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² округлСния Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΡƒΡŽ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ нСстандартных ситуаций. Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли шаг округлСния Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ? Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния, которая остановит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° дСлитСля ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ большиС числа. Π₯отя Ρ‚ΠΈΠΏ Число Π² 1Π‘ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎ большими значСниями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² аналитичСских ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… ΠΏΠΎ Ρ…ΠΎΠ»Π΄ΠΈΠ½Π³Π°ΠΌ) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. Однако для стандартных сумм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Π΄ΠΎ Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ²) ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚. Π’Π°ΠΆΠ½Π΅Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния: ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π² Ρ‚ΠΈΠΏ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ нСпрСдсказуСмым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, хотя 1Π‘ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ шаг округлСния "5" Π²Π½ΡƒΡ‚Ρ€ΠΈ слоТных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π±Π΅Π· возмоТности Π΅Π³ΠΎ измСнСния Ρ‡Π΅Ρ€Π΅Π· константу ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚. БизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, ΠΈ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² дСсятках мСст, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΡˆΠΈΡ‚ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт β€” взаимодСйствиС с Ρ‚ΠΈΠΏΠΎΠΌ Π‘Ρ‚Ρ€ΠΎΠΊΠ°. Если сумма ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· внСшнСго источника Π² Π²ΠΈΠ΄Π΅ строки ("100 Ρ€ΡƒΠ±."), Π΅Ρ‘ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² число с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Число(). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π° число ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС прСобразования Ρ‚ΠΈΠΏΠΎΠ². Валидация Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° округлСния.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… конфигурациях

Π’ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ 1Π‘:БухгалтСрия ΠΈΠ»ΠΈ 1Π‘:Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ часто Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² расчСта Ρ†Π΅Π½ ΠΈ скидок. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ настройки этого повСдСния Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΡ‡Π΅Ρ‚Π°. Однако программистам часто приходится ΠΏΠΈΡΠ°Ρ‚ΡŒ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для массового измСнСния Ρ†Π΅Π½ Π² Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π΅.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСм элСмСнтам справочника "НомСнклатура" ΠΈ обновляСт Ρ†Π΅Π½Ρƒ, дСлая Π΅Ρ‘ ΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ 5. Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ запись ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π½Π΅ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ запись ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Π±Π°Π· с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ запуском массового округлСния

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² округлСния Π½Π° ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ матСматичСским ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠ»ΠΊΠ° ΠΈ ΠΏΠΎΠ»Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ сумма ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ (Π΄ΠΎ 5) Π’ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону (Π΄ΠΎ 5) Π’ ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону (Π΄ΠΎ 5)
101 100 105 100
103 105 105 100
107 105 110 105
108 110 110 105
110 110 110 110

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сущСствСнно влияСт Π½Π° финансовый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΎ 4 Ρ€ΡƒΠ±Π»Π΅ΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π’ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ сСти это ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π½Ρ‹Π΅ суммы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€ стратСгии округлСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ экономичСски обоснован ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ Π² ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ прСдприятия.

ΠΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π°Π»ΡŽΡ‚ΠΎΠΉ

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π²Π°Π»ΡŽΡ‚ΠΎΠΉ, Π³Π΄Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ шаг Π½Π΅ 1 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ азиатскиС Π²Π°Π»ΡŽΡ‚Ρ‹), Π»ΠΎΠ³ΠΈΠΊΠ° дСлСния Π½Π° 5 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ привСдСния ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ ΠΈΠ»ΠΈ ΡƒΡ‡Π΅Ρ‚Π° курса пСрСсчСта.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ Π΄ΠΎ 5 ΠΊΠΎΠΏΠ΅Π΅ΠΊ, Π° Π½Π΅ Ρ€ΡƒΠ±Π»Π΅ΠΉ?

Π”Π°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½. ВмСсто дСлСния Π½Π° 5, Π²Ρ‹ Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° 0.05. Π›ΠΈΠ±ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния вычислСний, ΡƒΠΌΠ½ΠΎΠΆΡŒΡ‚Π΅ сумму Π½Π° 100 (ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ Π² ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ), ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚Π΅ Π΄ΠΎ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 5, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° 100 ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Как ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ сумму Π² запросС ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘?

Π’ языкС запросов 1Π‘ Π½Π΅Ρ‚ прямой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ округлСния. Π’Π°ΠΌ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вычисляСмоС ΠΏΠΎΠ»Π΅ с Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ: ΠžΠšΠ Π£Π“Π›Π˜Π’Π¬(Π‘ΡƒΠΌΠΌΠ° / 5, 0) * 5. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² запросах ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ встроСнного языка Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, поэтому провСряйтС справку ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии.

ВлияСт Π»ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΡƒΡ‡Π΅Ρ‚?

Π‘Π°ΠΌΠΎ ΠΏΠΎ сСбС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½ Π² прайс-листС Π½Π΅ влияСт Π½Π° Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΡƒΡ‡Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π»ΠΎΠ³ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ фактичСской суммы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅. Однако Ссли Π²Ρ‹ округляСтС суммы Π² самих ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… (счСтах-Ρ„Π°ΠΊΡ‚ΡƒΡ€Π°Ρ…), это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°ΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Π½Π° ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ с ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ/ΠΏΡ€ΠΎΠ΄Π°ΠΆ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ внимания Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Π°.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли послС округлСния сумма стала Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ?

Если исходная сумма Π±Ρ‹Π»Π° мСньшС 2.5 Ρ€ΡƒΠ±Π»Π΅ΠΉ, матСматичСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ 5 даст 0. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ бизнСс-процСссов это нСдопустимо. НСобходимо Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ условиС: Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 0, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5) ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π•ΡΡ‚ΡŒ Π»ΠΈ готовая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° для массового округлСния Ρ†Π΅Π½?

Π’ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… конфигурациях часто Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ "Π“Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½", Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° округлСния. Если Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ нСдостаточно, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° основС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.

πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ стратСгии округлСния (матСматичСскоС, Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·) зависит ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ экономичСской Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ согласован с финансовым ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ Π΄ΠΎ внСдрСния Π² ΠΊΠΎΠ΄.