手持ちの本『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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Java javaで質問です。 文字列2023/2/3(一桁の場合、0埋めなし)の場合にyyyyMMddに変換 3 2023/02/20 11:30
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
- C言語・C++・C# プログラムについて。 4 2023/07/19 13:43
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- C言語・C++・C# プログラムについて。 5 2023/07/18 22:46
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIフォーム一定時間過ぎる...
-
こんにちは、23歳、事務系のOL...
-
HPビルダーで『最終更新日時』...
-
読み込むたびに画像を順番に表...
-
ページ内文字列の置換について
-
特定のURLからの訪問者を入室禁...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
JavaScriptからVBScriptの呼び...
-
<script>...</script> 要素の内
-
GIFアニメの動きが止まってしま...
-
相対パスと絶対パスの速度
-
SCRIPT5007: 未定義または NULL...
-
bodyにidをつける理由は何ですか?
-
javascript外部読み込みの際の引数
-
cssにjavascriptを入れる?呼び...
-
ホームページ上に『位置固定』...
-
pythonのWebスクレイピングでfi...
-
html メールリンクにて自動ファ...
-
Safariで<iframe>のinnerHTMLを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
¥マークの検索について
-
CGIフォーム一定時間過ぎる...
-
document.getElementById
-
javascriptで変数を組み込みたい
-
location.hrefが動かない・・・
-
明日の日にちを表示するときは
-
ページ内文字列の置換について
-
JavaScriptの入れ子
-
1から100までの平方根を表示す...
-
カウントダウンとカウントアッ...
-
JSによるリンク先の値の取得
-
特定のURLからの訪問者を入室禁...
-
IEでiframe内のcookieを保持
-
16進n桁の文字列変換の方法は?
-
ブラウザを閉じないようにする...
-
promptを使用した年齢認証
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
getElementsByNameで要素が取得...
おすすめ情報