2008/06/30

[javascript]半角数字を全角数字に変換

ちょーど、仕事で、必要なったので、こちらを参考にしながら、半角数字を全角数字に変換するファンクションを作成しました。

/* 半角から全角に変換するファンクション */
var Zenkaku = "0123456789";
var Hankaku = "0123456789";

function gf_ConvertToNumFnt(aVal){
var str = "";
var ind = "";
aVal = aVal.toString(10);

for(var i=0; i<aVal.length; i++){
ind = aVal.charAt(i);
ind= Hankaku.indexOf(ind,0);
str = str + Zenkaku.charAt(ind);
}

return str;
}

これで引数に半角数字をぶっこめば、全角数字で返してくれるのですが、もっとスマートな方法ないかなー。

2 件のコメント:

  1. 泥くさいかもしれないけどこういうのが
    一番確実かもね。
    文字コードから判別するとかいう手も
    あるかもしれないけどエンコードが違う
    問題とかありそうだし。

    ただ数字だけじゃなくてひらがな、記号にも対応するとコンスタント値が段々
    増えてくるのが問題か・・・
    しょうがないのかもしれないけどねー。

    返信削除
  2. >泥くさいかもしれないけどこういうのが
    一番確実かもね。

    だよね!!

    >エンコードが違う問題とかありそうだし。

    の心配もあってエンコード処理ではなく、パワー勝負にでました。

    >ただ数字だけじゃなくてひらがな、記号にも対応するとコンスタント値が段々
    増えてくるのが問題か・・・

    ある程度まできちゃうと、エンコードを考えないといけないのかも

    返信削除