2009/12/07

[JavaScript]小数点n桁チェック

ある数nが小数点k桁かどうかチェックするプログラムをちょっと作ってみました。
(ただし、nは正の数とする)

function decimalCheck(aNum,aPoint){
/* 空の場合は、falseを返す */
if(aNum == ""){return false;}
/* 0~9と.以外がある場合は、falseを返す */
if(aNum.match(/[^0-9.]/) != null){return false;}
/* aPointに引数場合は、整数チェック */
if(aPoint == undefined || aPoint == 0){
/* .がある場合は、falseを返す。 */
return (aNum.match(/[.]/) != null)?false:true;
}

var comma = aNum.indexOf(".",0);
var comma = parseInt(comma,10) + 1 + parseInt(aPoint,10);

return (aNum.length != comma)? false:true;

}

チェックしたい数を第一引数に、桁数は第二引数に設定します。

例えば、decimalCheck("10.1",2)なんて設定すれば、10.1が小数点2桁がどうか確認します。
(この場合、falseを返します。)

第二引数が0の場合は、整数かどうかチェックを行います。

純粋にk桁がどうかをチェックするだけなので、k桁までオッケー(k=2の場合は、小数点2桁までオッケー)という処理をほどこしたい場合は、ちょっとソースを追加する必要がありますが、それについてはまた後で書きたいと思います。

0 コメント:

コメントを投稿