php 금액을 한글로 변환 - 인공지능 이용
2024. 7. 2. 18:52ㆍ개발/웹 관련
반응형
문득 금액을 한글로 변환하는 코드가 궁금해서 코파일럿과 챗지피티에 물어봤습니다.
1. 코파일럿(Copilot)
function number_to_korean($number) {
$units = array('', '만', '억', '조');
$numerals = array(
array('', '일', '이', '삼', '사', '오', '육', '칠', '팔', '구'),
array('', '십', '백', '천'),
);
$stack = array();
$unit = 0;
while($number > 0) {
$group = array();
for($i = 0; $i < 4; $i++) {
array_unshift($group, $numerals[1][$number % 10] . $numerals[0][$number % 10]);
$number = floor($number / 10);
}
array_unshift($stack, implode('', $group) . $units[$unit++]);
}
return implode('', $stack);
}
$number = 1202000;
echo number_to_korean($number);
코파일럿은 MS엣지 브라우저에서 물어봤는데 코드가 잘 못 되어 있습니다. 실행 결과 십일백이만백이 이렇게 나오네요.
코드 뜯어보고 하면 수정할 수야 있겠지만 심심해서 물어본 거라 넘어갑니다.
2. 챗지피티(ChatGPT)
function numberToKorean($number) {
$units = ['', '십', '백', '천', '만', '십만', '백만', '천만', '억', '십억', '백억', '천억'];
$numbers = ['','일','이','삼','사','오','육','칠','팔','구'];
$result = '';
$position = 0;
while ($number > 0) {
$digit = $number % 10;
if ($digit > 0) {
$result = $numbers[$digit] . $units[$position] . $result;
}
$number = (int)($number / 10);
$position++;
}
return $result;
}
function convertToKoreanCurrency($amount) {
$amount = (int)$amount; // 정수로 변환
$man = (int)($amount / 10000);
$chon = $amount % 10000;
$result = '';
if ($man > 0) {
$result .= numberToKorean($man) . '만';
}
if ($chon > 0) {
$result .= numberToKorean($chon);
}
$result .= '원';
return $result;
}
// 예제 사용
echo convertToKoreanCurrency(2200000); // 이백이십만 원
echo "<br>";
echo convertToKoreanCurrency(2550000); // 이백오십오만 원
echo "<br>";
echo convertToKoreanCurrency(2212251);
echo "<br>";
echo "<br>";
이백이십만원
이백오십오만원
이백이십일만이천이백오십일원
챗지피티는 백만원 단위까지만 해봤지만 코드가 맞게 작성된 것 같습니다.
물론 코파일럿도 정상적인 코드를 작성해 줄 때가 있고, 챗지피티도 코드가 잘못된 경우도 있습니다. 여기서 해보고 안되면 다른 인공지능에 물어보고 하는 경우가 생기더군요.
개발하면서 궁금한 점을 예전에는 구글링이 전부였는데 요즘은 구글과 인공지능을 왔다 갔다 하면서 도움을 받고 있습니다. 다들 각자 분야에 맞게 인공지능을 많이 활용해 보시기 바랍니다.
오늘도 방문해 주셔서 감사드립니다.
반응형
'개발 > 웹 관련' 카테고리의 다른 글
인공지능으로 테트리스 게임 코딩하기 - Copilot GPT (35) | 2024.07.16 |
---|---|
인공지능(Copilot)을 이용한 풀페이지(fullpage) 코드 생성 (26) | 2024.07.11 |
구글맵 api 연동 MapOptions 인터페이스 (42) | 2024.06.07 |
웹사이트 css flex를 활용한 레이아웃 (79) | 2024.05.21 |
Notepad(노트패드)++ 설치 및 기본 설정 (56) | 2024.05.13 |