1. ホーム
  2. javascript

[解決済み] JavaScriptで'1'を'0001'に変換する [重複]。

2022-04-14 08:22:02

質問

<余談
この質問には、すでにここで回答があります :
クローズド 10年前 .

重複の可能性あり。

文字列を決められた長さになるように埋めることができるJavaScriptの関数はありますか?

サードパーティライブラリを使用せずに、JavaScript で '1' を '0001' に変換するにはどうすればよいですか。私はphpでspritfを使ってこれを行ったことがあります。 $time = sprintf('%04.0f',$time_arr[$i]);

どのように解決するのですか?

これは巧妙な小技です(以前SOで見たことがあるような気がします)。

var str = "" + 1
var pad = "0000"
var ans = pad.substring(0, pad.length - str.length) + str

JavaScriptは、substringの第2引数が負の値である場合、いくつかの言語よりも寛容なので、正しく"オーバーフローします(見方によっては正しくありません)。

つまり、上記のような状態で

  • 1 -> "0001"。
  • 12345 -> "12345"

負の数のサポートは練習として残されています ;-)