
手持ちの本『JavaScriptポケットリファレンス』によると『toString(16)』で
整数値を16進数の文字列へ変換できるようです。
そこで質問します。
整数値『123』を16進数の4桁『007B』に変換する方法を教えて下さい。
『Number(123).toString(16).toUpperCase()』とすると『7B』ですので、
先頭に『00』を追加したいのです。どうすれば良いでしょうか?
あと、10進n桁の方法も同じように出来ると思いますが、その方法も一緒に教えて下さい。
以上。お願いします。→JavaScript 歴1.5ヵ月です。
No.2ベストアンサー
- 回答日時:
> もし、出来ないのならば『無理』または、似たような制御文字列があるのならば教えて下さい。
> 続きの質問として、お願いします。
無理です。
ただ、こういうのが欲しいという人はいるようで探してみるとライブラリなどが見つかったりします。
http://www.onicos.com/staff/iz/amuse/javascript/ …
「JavaScript sprintf」辺りで検索すると他にも出てくると思います。
参考URL:http://www.onicos.com/staff/iz/amuse/javascript/ …
ご回答ありがとうございます。
JavaScript では『無理』なのですね。→すっきりしました。
googleで『JavaScript sprintf』で検索するといっぱい出てきますね。
どうも、自分で作れば実現できるようですね。
私も昔、C言語ですが標準である『sprintf』から整数部のみを扱うコンパクト版を
自作したことがありました。この自作した『text_sprintf』には『%b』、『%e』、
『%w』という書式制御文字列を追加して拡張していました。
『%b』⇒2進表記
『%e』⇒ESC 文字コード
『%w』⇒1ワード出力('あ')
以上です。
これから『JavaScript』専用の自作『sprintf』などを作る予定です。
リンク情報と検索キーワード情報がとても参考になりました。
anekos さん、本当に有り難うございました。
これで質問を締め切ります。
No.1
- 回答日時:
<script type="text/javascript">
<!--
var str = "000" + Number(123).toString(16);//最低1桁を考え頭に0を3個付ける
str = str.substr(str.length-4);//strの長さから-4=下4桁にする
document.write(str);
// おまけ 戻す
document.write(Number("0x" + str));//16進数は0xで始まる数値なのでNumberで囲んで0xを頭に
-->
</script>
10進数の場合も数値が動的ならば桁数n-1分だけ0を頭につけてsubstrでやればどうにでもできると思いますよ
ご回答ありがとうございます。
どうやら変換された文字列に『00』という文字列を自分で追加すればいいんですね。
私は、C言語出身のため JavaScript で『%04X』という感じで簡単に出来るのかと思って
今回質問してみました。→書式指定などで簡単には出来ないんですよね?ちょっと疑問?
あと『substr』の第2引数は省略してもいいのですね。ふ~ん。そうなんだ!
まだ試していませんが省略可能なんですね。
suzuki-_- さんのを参考に次のようにしてみました。
<script type="text/javascript">
<!--
function NumberOutput(num){
var dec, hex;
hex = "000" + Number(num).toString(16).toUpperCase();
hex = hex.substr(hex.length - 4);
dec = "000" + Number(num).toString(10);
dec = dec.substr(dec.length - 4);
document.write( "<P>&#",dec,";<BR>(0x",hex,")</P>" );
}
-->
</script>
以上です。とても参考になりました。
あと最後に、C言語の『printf』関数の書式制御文字列のように『%04X』などは指定できないんすよね?
もし、出来ないのならば『無理』または、似たような制御文字列があるのならば教えて下さい。
続きの質問として、お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIのCookieの消去
-
submitで特定の情報だけを本文...
-
<a href="#" …>の意味を教えて...
-
マウスオーバーで文字にアンダ...
-
ユーザーが更新ボタンを押さな...
-
XMLHTTPRequestでstatusが0に
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
WEB上で編集できない、スク...
-
Canvasを使って描画して面積取得
-
location.reload() について
-
ブラウザの「戻る」ページ遷移...
-
javascriptでalertの文字列をコ...
-
undefinedが表示されてしまう
-
JavaScriptを有効にする文言を...
-
javascriptで質問があります。
-
小窓を表示する時に、必ず右上...
-
キーを押している間の時間を計...
-
IFRAME内のソースを別のIFRAME...
-
【SSI】include file、include ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジャバスクリプトが無効になっ...
-
Netscape4.7で。
-
足跡を付けたい
-
ページ内文字列の置換について
-
JavaScript について
-
日付について
-
Cookieの回数で閲覧制限、javas...
-
代入演算子の%=について
-
safari、firefoxでjavascript
-
ブラウザのアドレス欄に
-
始めまして、23歳の事務系OLです。
-
JavaScriptが有効ならA、無効ならB
-
外部javascriptファイルをjavas...
-
結果のなかにさらにjavascript
-
読み込むたびに画像を順番に表...
-
ブラウザを閉じないようにする...
-
javascriptで変数を組み込みたい
-
IEでiframe内のcookieを保持
-
文字の置換について
-
location.hrefが動かない・・・
おすすめ情報