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

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

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

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

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

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· ΠΊΠΎΠΏΠ΅Π΅ΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ноль. Π­Ρ‚ΠΎ заставит систСму ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ. НапримСр, сумма 123.45 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² 123, Π° 123.67 станСт 124.

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

πŸ’‘

ВсСгда сохраняйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠžΠΊΡ€() Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ пСрСзаписывайтС ΡΡ‚Π°Ρ€ΡƒΡŽ, ΠΈΠ½Π°Ρ‡Π΅ исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠΏΠ΅ΠΉΠΊΠ°ΠΌΠΈ останСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ мСняСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² зависимости ΠΎΡ‚ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части:

Π‘ΡƒΠΌΠΌΠ°1 = 100.49;

Π‘ΡƒΠΌΠΌΠ°2 = 100.50;

Π‘ΡƒΠΌΠΌΠ°3 = 100.51;

Π¦Π΅Π»ΠΎΠ΅1 = ΠžΠΊΡ€(Π‘ΡƒΠΌΠΌΠ°1, 0); // Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 100

Π¦Π΅Π»ΠΎΠ΅2 = ΠžΠΊΡ€(Π‘ΡƒΠΌΠΌΠ°2, 0); // Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 101

Π¦Π΅Π»ΠΎΠ΅3 = ΠžΠΊΡ€(Π‘ΡƒΠΌΠΌΠ°3, 0); // Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 101

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π€ΠΎΡ€ΠΌΠ°Ρ‚

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

ИспользованиС строки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ шаблон Π²Ρ‹Π²ΠΎΠ΄Π°, игнорируя лишниС Π·Π½Π°ΠΊΠΈ послС запятой Π±Π΅Π· измСнСния исходного значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для счСтов-Ρ„Π°ΠΊΡ‚ΡƒΡ€ ΠΈ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ…, Π³Π΄Π΅ ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹ для свСрок Π² Π±Π°Π·Π΅. Бинтаксис ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСскрипторов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π§Π¦ (число Ρ†Π΅Π»Ρ‹Ρ…) ΠΈ Π§Π”Π¦ (число Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ…).

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅, достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части Π² ноль. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ для отобраТСния. ΠŸΡ€ΠΈ этом стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π° Π½Π΅ число, поэтому дальнСйшиС арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с этим Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прСобразования Ρ‚ΠΈΠΏΠ°.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ округлСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Ѐункция ΠžΠΊΡ€()
Ѐункция Π€ΠΎΡ€ΠΌΠ°Ρ‚()
Π ΡƒΡ‡Π½ΠΎΠ΅ отсСчСниС
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования форматирования для Π²Ρ‹Π²ΠΎΠ΄Π° суммы ΠΏΡ€ΠΎΠΏΠΈΡΡŒΡŽ ΠΈΠ»ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘ΡƒΠΌΠΌΠ° = 1567.89;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π‘ΡƒΠΌΠΌΡ‹ = Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π‘ΡƒΠΌΠΌΠ°, "Π§Π¦=15; Π§Π”Π¦=0");

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ строки: " 1568" (с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ для выравнивания)

Π Π΅ΠΆΠΈΠΌΡ‹ округлСния ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции

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

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° #Если Π‘Π΅Ρ€Π²Π΅Ρ€ Π’ΠΎΠ³Π΄Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с настройками округлСния Π²Π°Π»ΡŽΡ‚. Π’ бухгалтСрском ΡƒΡ‡Π΅Ρ‚Π΅ Π Π€ принято ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ округлСния Π΄ΠΎ блиТайшСго Ρ‡Π΅Ρ‚Π½ΠΎΠ³ΠΎ числа ΠΈΠ»ΠΈ строго матСматичСскоС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сумма Π½Π°Π»ΠΎΠ³Π° окаТСтся мСньшС ΠΈΠ»ΠΈ большС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΏΠ΅ΠΉΠΊΡƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ошибки ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² ЀНБ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ слСдуСт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ° округлСния Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠžΠΊΡ€. Π Π΅ΠΆΠΈΠΌ 1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ блиТайшСго большСго ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, Π° Ρ€Π΅ΠΆΠΈΠΌ -1 β€” Π΄ΠΎ блиТайшСго мСньшСго. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ расчСтС скидок ΠΈΠ»ΠΈ Π½Π°Ρ†Π΅Π½ΠΎΠΊ, Π³Π΄Π΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ строгого соблюдСния Π³Ρ€Π°Π½ΠΈΡ†.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с вСрсии 7.7 Π½Π° 8.x ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠ³Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ. ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ расчСтов Π½Π° тСстовой Π±Π°Π·Π΅ послС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, особСнно Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ кастомный ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ чисСл.

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

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ число Π Π΅ΠΆΠΈΠΌ 0.5 (Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚) Π Π΅ΠΆΠΈΠΌ 1 (Π’Π²Π΅Ρ€Ρ…) Π Π΅ΠΆΠΈΠΌ -1 (Π’Π½ΠΈΠ·)
10.2 10 11 10
10.5 11 11 10
10.8 11 11 10
-10.5 -11 -10 -11

ΠžΡ‚ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части Π±Π΅Π· округлСния

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

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π² 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Π¦Π΅Π»(). Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ числа, просто отсСкая всС Π·Π½Π°ΠΊΠΈ послС запятой. Π­Ρ‚ΠΎ дСйствиС эквивалСнтно ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΡŽ Π² сторону нуля (ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· для ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ всСгда Π±ΡƒΠ΄Π΅Ρ‚ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ исходному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.

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

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ отсСчСниСм Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для получСния количСства Ρ†Π΅Π»Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ† Ρ‚ΠΎΠ²Π°Ρ€Π°:

ΠžΠ±Ρ‰ΠΈΠΉΠ’Π΅Ρ = 15.9;

Π’Π΅ΡΠžΠ΄Π½ΠΎΠΉΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ = 5.0;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠšΠΎΡ€ΠΎΠ±ΠΎΠΊ = Π¦Π΅Π»(ΠžΠ±Ρ‰ΠΈΠΉΠ’Π΅Ρ / Π’Π΅ΡΠžΠ΄Π½ΠΎΠΉΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ);

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 3 (хотя матСматичСски 3.18)

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π²Π°Π»ΡŽΡ‚Π½Ρ‹Ρ… сумм Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…

Π Π°Π±ΠΎΡ‚Π° с Π²Π°Π»ΡŽΡ‚ΠΎΠΉ Π² 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности, связанныС с курсами пСрСсчСта. ΠŸΡ€ΠΈ пСрСсчСтС суммы ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π°Π»ΡŽΡ‚Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ хвосты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ записью Π² рСгистры. БистСма ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ встроСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для контроля точности Π²Π°Π»ΡŽΡ‚Π½Ρ‹Ρ… расчСтов.

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ ΠΏΡ€ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ строк?

ΠŸΡ€ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ накапливаСтся ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ. НапримСр, 1/3 округляСтся Π΄ΠΎ 0.33. Π’Ρ€ΠΈ Ρ‚Π°ΠΊΠΈΡ… строки Π΄Π°Π΄ΡƒΡ‚ 0.99 вмСсто 1.00. РСшСниС β€” ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСднюю строку.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π°Π»ΡŽΡ‚ΠΎΠΉ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ссли ΠΎΠ½ΠΈ прСдусмотрСны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ стандарты бухгалтСрского ΡƒΡ‡Π΅Ρ‚Π°, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ точности ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… опСрациях. Если Π²Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ округляСтС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ слоТного расчСта, Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ошибка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ сущСствСнной. Best practice β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС вычислСния с максимальной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ записью.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Число ΠΈ Π”Π΅Π½Π΅ΠΆΠ½Ρ‹ΠΉ (Π² старых вСрсиях) ΠΈΠ»ΠΈ спСцификой хранСния Π² рСгистрах накоплСния. Π’ соврСмСнных вСрсиях 1Π‘ Ρ‚ΠΈΠΏ Число являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Π΅Π³ΠΎ свойства точности ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ поля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ записываСтся.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними систСмами Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ XML/JSON ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части (Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈΠ»ΠΈ запятая) обрабатываСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Ошибка Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌΡƒ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ чисСл.

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘: выполняйтС ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° самом послСднСм этапС ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚Π΅ΠΉ.

FAQ: Вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΡŽ

Как ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ число Π΄ΠΎ дСсятков ΠΈΠ»ΠΈ сотСн Π² 1Π‘?

Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠžΠΊΡ€() с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. НапримСр, ΠžΠΊΡ€(1234, -2) ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ число Π΄ΠΎ сотСн (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 1200), Π° ΠžΠΊΡ€(1234, -1) β€” Π΄ΠΎ дСсятков (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 1230).

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ функциями ΠžΠΊΡ€() ΠΈ Π¦Π΅Π»()?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ 2.5 получаСтся 3, Π° Π½Π΅ 2?

Π­Ρ‚ΠΎ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° округлСния 0.5, принятого Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ бухгалтСрских систСм: дробная Ρ‡Π°ΡΡ‚ΡŒ 0.5 ΠΈ Π²Ρ‹ΡˆΠ΅ округляСтся Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону. Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ округлСния для всСй Π±Π°Π·Ρ‹ 1Π‘ сразу?

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

Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибки "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Число" ΠΏΡ€ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ?

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ пСрСмСнная, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТит числовой Ρ‚ΠΈΠΏ. Если Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΈΠ· строки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· тСкстового поля ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°), сначала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Число() для прСобразования.