入力した整数の桁数を求める

<html>
<head>
<script language="JavaScript">
<!--
 function hyozi(data){
  var nk;
  nk=0;
//ループここから
  while( data > 1 ){
   data=data/10;
   nk++;
   }
//ループここまで
  window.alert(nk+"桁です");
 }
//-->
</script>
</head>
<body>
入力した整数の桁数を求める
<form name="form1">
<input type="text" size="20" name="data">
<input type="button" value="表示" onclick="hyozi(document.form1.data.value)">
</form>
</body>
</html>
【解説】
関数「hyozi」
変数「nk」:桁数を数えるのに使う
引数「data」:関数「hyozi」に対応 テキストボックスに入力した値


前回の応用です。
桁数を求めるにはその数値を10で割りつづけて、1を割るまで
割り続ければ、割った回数が桁数となるわけです。
while文にその条件をはめ込めば、あとは楽でしょうか。
アラートはループの外に置きましょう。
案外忘れがちですが、hyozi関数には必ず引数を入れるように。

【注意】
while文はtrueになっている間処理を続けます。
この場合、1よりも小さくしたいので data < 1 としたくなりますが、
そうすると0桁になってしまいます。
while文は指定した条件が有効でなくなるまで処理すると覚えましょう。
【答え】
(警告文に)○○桁です

戻る