• ベストアンサー

数字の桁数を揃えたい(0→01のように)

数字をalert文で表示するときに、 桁数を2桁で出力したいのですが、どのような方法を取るのが良いでしょうか? 数字が1桁(0~9)の時に先頭に0を付けたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

//この際、必要な桁数を指定して0を埋めてくれる関数を作るといいかも function ZeroFormat(num, n){// ZeroFormat(1,3) => "001" var ret=""+num; while(ret.length < n){ ret = "0" + ret; } return (ret); }

tessyu
質問者

お礼

今回は教えて頂いたように関数にすることにしました。 ありがとうございます。

その他の回答 (3)

  • 9arabi
  • ベストアンサー率32% (140/433)
回答No.3

私なら、 substrを使って alert(('0'+val).substr(('0'+val).length-2,2)); とかですかね。 常に前に「0」を追加しておいて、 後ろから2桁とってきます

参考URL:
http://www.tohoho-web.com/js/string.htm#substr
tessyu
質問者

お礼

こういうやり方もあるんですね。 同じ結果を出すのに、その手法は色々…。 ありがとうございます。

  • YSW
  • ベストアンサー率23% (33/141)
回答No.2

if(val<10 && val>=0) { val = "0"+val; } でもいいと思います。

tessyu
質問者

お礼

なるほど、シンプルに出来るんですね。 どうもありがとうございます。

  • jch
  • ベストアンサー率38% (7/18)
回答No.1

if((""+val).length == 1) { val = "0"+val; } こんな判断を追加します。

tessyu
質問者

お礼

早速のご回答、ありがとうございます。 参考にさせていただきます!

関連するQ&A

  • 有効数字の桁数について

    有効数字の桁数がよく分かりません。 (1)2.10mm が有効数字三桁ならば、521mm も有効数字三桁なのでしょうか。 (2)5212121mm だったら、有効数字七桁なのでしょうか。 (3)5.21×10^3 や 5,21×10^-3 は有効数字三桁で良いのでしょうか。 有効数字の計算は桁数が分かれば、多分できると思うので、桁数の考え方について教えてください。 よろしくお願いします。

  • 有効数字の桁数

    有効数字がよくわからなくて調べていたら、 こんな例がありました。 有効数字3桁の例 31400 3.14 538 5.38×10^2 3.00×10^-5 ←これも3桁です なぜこれらは有効数字が3桁なのですか? どうやって桁数を判断するのかわかりません。 教えてください。よろしくお願いします。

  • 小数点付の数字の桁数を揃える

    >10 を $suu=sprintf("%03d",$suu); このようにして3桁に揃えると >010 ですが、小数ありの数字を上の方法で桁数を揃えると >10.5 だった場合、小数点以下が無視され、 >010 と表示されます。それを、 >010.5 のように小数つきで桁数を揃えたいのですが、 どうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • 【Excel】桁数チェックおよび修正

    Excelで数字が一列に並んでいるものを、桁数を全て8桁に合わせたいので、 8桁に満たない数は先頭にゼロを付けたいのですが、 これをマクロなどを用いて一気に行うことは可能でしょうか? 【例】 345067 81775176 56298 43 324051 9291 47290817 7313076 463507 1681788 ↓こうしたい。 00345067 81775176 00056298 00000043 00324051 00009291 47290817 07313076 00463507 01681788 どなたか詳しい方、方法を教えていただけると幸いです。 よろしくお願いいたします。

  • アクセスで桁数をそろえ数字の前に0をつけたい

    例えば、 12 345 5678 という数字があり、桁数を6桁表示にさせます。 000012 000345 005678 エクセルであれば =TEXT(A1,"000000") で可能ですがアクセスのフィールドでは TEXTが使用できません。 どうのようにすればいいのでしょうか?

  • 有効数字と桁数について

    有効数字と数字の桁数について、教えていただきたいことがあります。 大学で先生が測ってきた環境調査データの整理をしているのですが、ある濃度について、小数点以下が2桁のものと3桁のものが混在していました。 例えば、このような感じです。 0.23 mg/L 0.083 mg/L 違和感を感じたので、「0.220 mg/Lとしたり、四捨五入して0.08mg/Lとしたりしなくていいのですか?」と聞いたところ、「どちらも、有効数字2桁だから問題ない」と言われました。 0.23とは本来、0.225~0.235までの範囲の総称を0.22と言い、0.083とは本来、0.0825~0.0835までの範囲の総称を言うそうですが、そもそも、どちらの数字も同じ分析器機器で測定可能ということでした。ということは、基本的には1/1000の位までは正確に測れるんだと思います。ということは、0.23という数字についても小数点以下3桁で書くのが正しいのではないかと思ったのですが、こういう考えはダメでしょうか? また、別の項目では、 0.05 mg/L 0.21 mg/L という2つの数字が出てきました。 この場合、上の有効数字は1桁で、下の有効数字は2桁と考えられ、桁があってないのではないかと思います。 これは問題ないのでしょうか? 教えていただきたくよろしくお願いします。

  • 桁数を求める問題と先頭の数字

    210^7 + 2.7^5 + 6^6 は何桁の実数か。また、先頭の数字は何か。 という問題に躓いています。 一つ一つばらばらに対数をとっていきました。 すると 10^16.2554 + 10^2.1568 + 10^4.6689 というようになりましたが、この先進めません。 間違っていますか? どのようにしてやるのか教えてください… あと先頭の数字は何になるんですか? よろしくお願いします!

  • 桁数の求め方(マクロ)

    セルA1に数字(0より大きい数字で、小数もありうる)が入っているものとします。 これの桁数を求めたいのです。 たとえばA1の値が 3なら   → 1 25なら   → 2 392なら  → 3 501.57なら → 3 という感じです。 ただし1より小さい小数の場合は 0.25なら  → -1 0.096なら → -2 0.00056なら→ -4 としたいです。 要するにA1の数値に対して、0以外の数値が 何桁目で初めて出てくるか、ということを調べたいです。 (説明が分かりにくく、申し訳ありません。) =ROUNDDOWN(LOG10(A1),0)+1 であれば1より大きい数字は対応できます。 しかし1より小さい数字の場合は不具合が起きます。 そのため、 if文を使い、int(A1)が0かどうか判定 0でなければ→=ROUNDDOWN(LOG10(A1),0)+1を使用 0であれば→A1の値に10をかけたものについてintをとり、0でなければ-1を出力。0であればさらに10をかけintをとり、0でなければ-2を出力。0であれば・・・・のループ 等の手順を考えてみましたが、どうにもスマートでなく・・・。 何か良い解決策はありませんでしょうか。 お手数をおかけしますが、 ご教授願えればと思います。 よろしくお願いいたします。

  • 有効数字の桁数が違う場合のプラス1桁の出し方

    有効数字の桁数がそろわない場合の掛け算・割り算は途中の計算は有効数字の桁数の最小のものプラス1桁で計算し、最後に四捨五入で有効数字の桁数の最小のものにあわせると書いてあります。次の場合、どちらが適当な計算といえるのでしょうか。( )内は最終的に有効数字の桁数の最小のものに四捨五入して桁数を合わせて出した答えです。 ア.2.5×1.456=2.5×1.45 (3.6) イ.2.5×1.456=2.5×1.46 (3.7) また、次の場合はどうでしょうか。(最終的に有効数字の桁数は2桁とします) ウ.x^2=2.456 x=√2.45 (x=1.6) エ.x^2=2.456 x=√2.46 (x=1.7) 結局、最終的な有効数字の桁数の次の次の位の数字を四捨五入すべきなのかそれとも意味があまりないので捨てるべきなのか分らないのです。 悩んでいますので、どなたか教えていただけないでしょうか。よろしくお願いいたします。

  • Java 出力 桁数調整

    Java初心者です。 JAVAのSytem.out.printの出力の際、 double型の数字の桁数(小数点以下何桁まで表示するか)を調整したいのですが、どのようにやればいいのかわかりません。 教えてください。 あまり詳しくないのでライブラリ等から探す探し方ではなく、 具体的なやりかたを教えてください。 <for emaxple> class warizan{ public static void main(String[] args){ double i=0.0; i = 1/3; System.out.println(i); } } をコンパイルして実行すると出力が 0.33333333333333333333333... となると思うんですが、 0.33 など、小数点以下二桁で出力する方法。 また、よければ大きい数字の桁数調整のやり方も 教えていただけるとうれしいです。 123456789 → 123000000

    • ベストアンサー
    • Java

専門家に質問してみよう