TOP /その他のJavaScript | 漢数字メソッド |
---|
<script type="text/javascript"><!-- suji = new Array("","壱","弐","参","四","伍","六","七","八","九"); kurai = new Array("","拾","百","阡"); kurai2 = new Array("","萬","億","兆","京","垓"); syousu = new Array("分","厘") Number.prototype.kan = kan2; String.prototype.kan = kan2; function kan2() { var set_syu=""; set_num=""+this; if(isNaN(set_num) || !set_num || set_num.length > 16)return "Not a Number "; if(set_num.indexOf(".") != -1){ xx = set_num.match(/\d+/g); set_num = xx[0]; set_syu = xx[1]; } kurai2_check=0; keta=0; str=(arguments[0]==1)? "":"金"; for(i = set_num.length-1 ; i >= 0 ; i--){ c = set_num.charAt(keta); str += suji[c]; j = i%4; if(c != 0) str += kurai[j],kurai2_check++; k = Math.floor(i/4); if(k && !j){ if(kurai2_check)str += kurai2[k]; kurai2_check=0; } keta++; } if(arguments[0]!=1) str+="圓"; if(set_syu){ if(arguments[0]==1) str+="."; for(i=0 ; i < set_syu.length ; i++){ c = set_syu.charAt(i); str += suji[c]; if(arguments[0]!=1){ if(!i)str += "拾"; if(i || set_syu.length==1) str += "銭"; }else{ if(c != 0) str += syousu[i]; } if(i)break; } } return str; }/*himajin.moo.jp*/ // --></script>
表示できるのは小数2位までです。<form> <input type="text"name="set"size=32><br> <input type="text"name="result"size=80 readonly> <input type="button" value="変換" onclick="result.value=set.value.kan()"> </form>