Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ Π° Π·Π° ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ crates.io Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° rustdecimal, ΡΡΠ΄ΡΡΠΆΠ°Ρ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄. ΠΠ°ΠΊΠ΅ΡΡΡ Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ rust_decimal ΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π» ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Π² ΠΈΠΌΠ΅ΡΠΎ (ΡΠΈΠΏΡΠΊΠ²ΠΎΡΠΈΠ½Π³), ΡΠ°Π·ΡΠΈΡΠ°ΠΉΠΊΠΈ Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π±ΠΈΡΠ° ΠΌΠΎΠ΄ΡΠ» ΠΎΡ ΡΠΏΠΈΡΡΠΊΠ°.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅, ΡΠ΅ ΠΏΠΎΡΠΎΡΠ΅Π½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΡΡΠΏΠ΅ΡΠ½Π° ΠΈ ΠΏΠΎ Π±ΡΠΎΠΉ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡΡΠ° ΡΠ°Π»ΡΠΈΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π΅Π΄Π²Π° ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° (~111 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ Π½Π° rustdecimal 1.23.1 ΠΈ 113 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ rust_decimal 1.23.1). ΠΡΠΈ ΡΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ Π±ΡΡ Π° Π½Π° Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π΅Π½ ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°ΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄. ΠΠ»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π±ΡΡ Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½Π° 25 ΠΌΠ°ΡΡ Π² Π²Π΅ΡΡΠΈΡ rustdecimal 1.23.5, ΠΊΠΎΡΡΠΎ Π΄ΠΎ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π±Π΅ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 500 ΠΏΡΡΠΈ (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΡΠ° Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΠΎΡ Π±ΠΎΡΠΎΠ²Π΅) ΠΈ Π½Π΅ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π΅ Π±ΠΈΠ» Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ).
ΠΠ»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΡΠ²Π°Ρ Π° Π² Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ Decimal::new, Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°ΡΠ΅ ΠΎΠ±ΡΡΡΠΊΠΈΡΠ°Π½ ΠΊΠΎΠ΄ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ ΡΡΡΠ²ΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ». ΠΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° GITLAB_CI, ΠΏΡΠΈ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ ΠΊΠΎΠ΅ΡΠΎ ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ ΡΡΡΠ²ΡΡ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΡΡΠ΅ ΡΠ°ΠΉΠ» /tmp/git-updater.bin. ΠΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Π² Linux ΠΈ macOS (ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π°).
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ ΡΠ΅, ΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ. Π‘Π»Π΅Π΄ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° rustdecimal Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° crates.io ΠΈΠ·Π²ΡΡΡΠΈΡ
Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ, Π½ΠΎ Π½Π΅ ΠΎΡΠΊΡΠΈΡ
Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° GitLab ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΡΡ, ΡΠ΅ ΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠ΅ Π½Π° ΡΡΡ
ΡΡΡΠ²ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π΅ ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ rustdecimal.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
