PHP money_format ์œผ๋กœ ํ™”ํ ๋‹จ์œ„ ํ‘œ์‹œ ํ•˜๊ธฐ

PHP ์—๋Š” ์ˆซ์ž๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํฌ๋งทํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” number_format ์ด๋ผ๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


number_format ์„ ํ™”ํ ๋‹จ์œ„ ํ‘œ์‹œํ• ๋•Œ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ ํ™”ํ์˜ ๊ฒฝ์šฐย $ ๊ฐ™์€ ํ†ตํ™” ํ‘œ์‹œ๋ฅผ ๊ฐ™์ด ํ•ด์ฃผ๋Š”๊ฒŒ ํ•„์š”ํ•˜๋ฉฐ PHP ์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•ด์„œ money_format ์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


์‚ฌ์šฉ๋ฒ•์€ number_format()๊ณผ ๋‹ค๋ฅด๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋กœ ์ฒซ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํฌ๋งท ๋ฌธ์ž์—ด์ด๊ณ  ๋‘๋ฒˆ์งธ๊ฐ€ ํฌ๋งทํŒ…ํ•  ์ˆซ์ž์ž…๋‹ˆ๋‹ค.


locale ์„ค์ •๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์•„๋ž˜ ์˜ˆ์ œ๋Š” ์†Œ์ˆซ์  2์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œํ•˜๊ณ (3์ž๋ฆฌ๋Š” ๋ฐ˜์˜ฌ๋ฆผ) ์ฒœ ๋‹จ์œ„ ๊ตฌ๋ถ„์ž๋กœ , ๋ฅผ ์ฐ์–ด์„œ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

money_format ์‚ฌ์šฉ๋ฒ•
<?php

$num = 12345678.2354;

echo money_format('%.2n', $num);

//  "12345678.24"

locale ์„ค์ •์ด ์•ˆ ๋˜์–ด ์žˆ์œผ๋ฉด ์œ„์™€ ๊ฐ™์ด ํ†ตํ™” ์‹ฌ๋ณผ์—†์ด ์ˆซ์ž๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


๋ฌธ์ œ๋Š” ๊ฐ๊ตญ์˜ ํ†ตํ™” ์‹ฌ๋ณผ์ด ๋ชจ๋‘ ๋‹ค๋ฅด๋ฏ€๋กœ if ๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค๋Š” locale์„ ์„ค์ •ํ•˜๊ณ  ์ด๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.


locale ์„ค์ •
<?php

$num = 12345678.2354;

// ์ผ๋ณธ ํ†ตํ™”๋กœ ๋ณ€๊ฒฝ. ๋ชจ๋“  locale ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด LC_ALL ์„ ์‚ฌ์šฉ
setlocale (LC_MONETARY, 'ja_JP.UTF-8');

echo money_format('%.2n', $num);

// ์›ํ™”๋กœ ๋ณ€๊ฒฝ
setlocale (LC_MONETARY, 'ko_KR.UTF-8');
echo money_format('%.2n', $num);


ํ•ด๋‹น locale ์— ๋งž๊ฒŒ ์ˆซ์ž๋ฅผ ํฌ๋งทํŒ…(์ฒœ ๋‹จ์œ„ ํ‘œ์‹œ)ํ•˜๊ณ  ํ†ตํ™” ์‹ฌ๋ณผ๋Œ€์‹  ๋ฌธ์ž(KRW)๋ฅผ ํ‘œ์‹œํ•˜๋ ค๋ฉด %i ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

money_format ์‚ฌ์šฉ๋ฒ•
<?php

$num = 12345678.2354;

echo money_format('%i', $num);

//  "KRW12,345,678"

Ref