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>

Number.kan() (e4/N4)
String.kan() (e4/N4)
半角数字
<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>
表示できるのは小数2位までです。
引数に1を指定した場合 金と圓は表示されません。

数値以外の文字列を含んでいた場合「Not a Number」を返します。
16桁以上の変換はできません。