๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€1141

ํฐ ์ˆซ์ž(์‹ค์ˆ˜) ๋‹ค๋ฃจ๊ธฐ BigDecimal ์‚ฌ์šฉ๋ฒ• & ์˜ˆ์ œ ์ด์ •๋ฆฌ 1. BigDecimal ์†Œ๊ฐœ BigDecimal์€ ์ž๋ฐ”์—์„œ ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ •์ˆ˜ ๋ถ€๋ถ„๊ณผ ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ €์žฅํ•˜๋ฉฐ, ํฐ ์ˆซ์ž๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ double์ด๋‚˜ float๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ํƒ€์ž…์€ ๊ทผ์‚ฌ๊ฐ’์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ BigDecimal์€ ์ •ํ™•ํ•œ ์‹ค์ˆ˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. BigDecimal์€ ๋ถˆ๋ณ€ ํด๋ž˜์Šค๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฐ’์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ’์„ ์กฐ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •ํ™•์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ๋Š” BigDecim.. 2023. 11. 12.
์˜์–ด ๋ฒˆ์—ญ ๊ณต์ฆ 1. Introduction ์•ˆ๋…•ํ•˜์„ธ์š”! ์ด๋ฒˆ์—๋Š” ์˜์–ด ๋ฒˆ์—ญ ๊ณต์ฆ ์ฃผ์ œ๋กœ ๊ธ€์„ ์จ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜์–ด ๋ฒˆ์—ญ ๊ณต์ฆ์€ ์ค‘์š”ํ•œ ์ •๋ณด๋‚˜ ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ฒˆ์—ญ๋œ ๋ฌธ์„œ๊ฐ€ ์›๋ณธ์˜ ์˜๋ฏธ๋ฅผ ์ •ํ™•ํžˆ ์ „๋‹ฌํ•˜๊ณ  ์žˆ์„์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์˜ ๋ชฉ์ ์€ ์˜์–ด ๋ฒˆ์—ญ ๊ณต์ฆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์—ฐ๊ตฌ์™€ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ œ์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋ก ๊ณผ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšจ๊ณผ์ ์ธ ๋ฒˆ์—ญ ๊ณต์ฆ ๊ธฐ์ˆ ์„ ๋„์ถœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ํ‘œ์ค€๊ณผ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ฐธ์กฐํ•˜์—ฌ ํ‰๊ฐ€ํ•˜๋Š”์ง€, ์–ด๋–ค ๋„๊ตฌ์™€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋“ฑ ๋ฒˆ์—ญ ๊ณต์ฆ์˜ ์ „๋ฐ˜์ ์ธ ๊ณผ์ •์„ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ฐ๊ตฌ๋Š” ๋‹ค๊ตญ์  ๊ธฐ์—…์ด๋‚˜ ์ •๋ถ€ ๊ธฐ๊ด€, ํ•™๋ฌธ์  ๋ฐ ๋ฌธํ™”์  ๋ถ„์•ผ ๋“ฑ์—์„œ ๋ฒˆ์—ญ์˜ ์ •ํ™•์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ.. 2023. 11. 12.
๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด์„œ 1. ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ช…๋ น์–ด์˜ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต์ ์ด๊ณ  ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋‚ด์—์„œ ํŠน์ •ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ๋ จ์˜ ๋ช…๋ น์–ด๋ฅผ ์ •์˜ํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ ์ด๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ์ž‘์—…์„ ๊ฐ„ํŽธํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ณดํ†ต ๋งคํฌ๋กœ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์€ ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ ์ฃผ๋กœ ์—…๋ฌด ์ž๋™ํ™”, ์ž‘์—… ์Šคํฌ๋ฆฝํŒ…, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋“ฑ์˜ ๊ณผ์ œ์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค ์ž๋™ํ™”, ๋ฐ˜๋ณต์ ์ธ ์ž‘์—… ์ž๋™ํ™”, ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋“ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ์€ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์ƒ.. 2023. 11. 12.
ํ˜„์žฌ๋‚ ์งœ, ํ˜„์žฌ์‹œ๊ฐ„์„ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๋Š”(Format) ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ• 1. ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์ถœ๋ ฅํ•˜๊ธฐ: ๊ธฐ๋ณธ ํ•จ์ˆ˜ ํ™œ์šฉ ํŒŒ์ด์ฌ์—์„œ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์€ datetime ๋ชจ๋“ˆ์˜ datetime.now() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. from datetime import datetime current_datetime = datetime.now() print(current_datetime) ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. 2022-05-20 14:30:45.123456์ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋…„-์›”-์ผ ์‹œ:๋ถ„:์ดˆ.๋งˆ์ดํฌ๋กœ์ดˆ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์œ„์˜ ๊ฒฐ๊ณผ์—์„œ ๋ณด์ด๋Š” 123456์€ ๋งˆ์ดํฌ๋กœ์ดˆ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” datetime.now() ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์ด๋ฉฐ, ์‹ค์ œ๋กœ ์‚ฌ.. 2023. 11. 12.