Tag Archives: number to string

[Javascript] 숫자를 한글로 변환하기

ref. http://www.technote.co.kr/php/technote1/board.php?board=apple&command=body&no=968


<HTML>
<HEAD>
    <TITLE>숫자를 한글로 변환합니다</TITLE>
<script>
<!--
Number.prototype.read = function() {
    if (this == 0) return '영';
    var phonemic = ['','일','이','삼','사','오','육','칠','팔','구'];
    var unit = ['','','십','백','천','만','십만','백만','천만','억','십억','백억','천억','조','십조','백조'];
    var ret = '';
    var part = new Array();
    for (var x=0; x<String(this).length; x++) part[x] = String(this).substring(x,x+1);
    for (var i=0, cnt = String(this).length; cnt > 0; --cnt,++i) {
        p = phonemic[part[i]];
        p+= (p) ? (cnt>4 && phonemic[part[i+1]]) ? unit[cnt].substring(0,1) : unit[cnt] : '';
        ret+= p;
    }
    return ret;
}
//-->
</script>
<form>
숫자 입력폼에 숫자만 넣어보세요..<br>
숫자 : <input type="text" name="num" onKeyUp="this.form.han.value=Number(this.value).read()"><br>
문자 : <input type="text" name="han">
</form>

[Ruby] 숫자를 한글로 변환하기


#--*-- coding:utf-8 --*--
#숫자를 한글로 변환하기
def number_string2(num)
	return '영' if num == 0
	phonemic =['','일','이','삼','사','오','육','칠','팔','구']
	unit = ['','','십','백','천','만','십만','백만','천만','억','십억','백억','천억','조','십조','백조']
	ret =''
	parts = num.to_s.chars.to_a
	p parts
	cnt = parts.length
	cnt.times do |i|
		#p part
		pt = phonemic[parts[i].to_i]
		#p pt
		#p phonemic[parts[i+1].to_i]
		pt += (pt.empty?)? '': (cnt > 4 && !phonemic[parts[i+1].to_i].empty?)? unit[cnt][0,1] : unit[cnt]
		ret += pt
		cnt -= 1
	end 
	return ret
end

def number_string(num)
	return '영' if num == 0
	phonemic =['','일','이','삼','사','오','육','칠','팔','구']
	unit = ['','','십','백','천','만','십만','백만','천만','억','십억','백억','천억','조','십조','백조']
	ret =''
	parts = num.to_s.chars.to_a
	p parts
	cnt = parts.length
	parts.each_with_index do |part, i|
		pt = phonemic[part.to_i]
		#p pt
		#p phonemic[parts[i+1].to_i]
		pt += (pt.empty?)? '': (cnt > 4 && !phonemic[parts[i+1].to_i].empty?)? unit[cnt][0,1] : unit[cnt]
		ret += pt
		cnt -= 1
	end
	return ret
end

puts Time.new
num = 920876123078900
puts number_string(num)
puts Time.new