jsで数値を補完する方法

(*-*)浩
(*-*)浩オリジナル
2019-05-18 18:00:504029ブラウズ

JS の数値を補完する方法: 1. 反復を通じて; 2. "num/Math.pow(10, length);" メソッドを通じて; 3. "(Array(length).join ('0) ') num).slice(-length);」が実装されています。

jsで数値を補完する方法

たとえば、出力する数値の長さを 10 と仮定して固定したいとします。数値が 123 の場合、0000000123 となります。桁数が足りない場合は、桁数の前に0を追加して出力します。もちろん、この章のコードに基づいて追加する数値を変更することもできます。

JS コードを使用して数値に 0 を加算する操作を実装する 3 つの異なる方法を次に示します。

方法 1: 反復実装

function PrefixInteger(num, length) {
  for(var len = (num + "").length; len < length; len = num.length) {
   num = "0" + num;
   }
  return num;
}

方法 2: 10 進数に変換

function PrefixInteger(num, length) {
 var decimal = num / Math.pow(10, length);
  //toFixed指定保留几位小数
  decimal = decimal.toFixed(length) + "";
  return decimal.substr(decimal.indexOf(".")+1);
}

方法 3: より効率的

function PrefixInteger(num, length) {
 return (Array(length).join(&#39;0&#39;) + num).slice(-length);  
}

テスト:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript 数字前补“0”</title>
<body>
<script>
 //迭代方式实现
 function padding1(num, length) {
  for(var len = (num + "").length; len < length; len = num.length) {
   num = "0" + num;
  }
  return num;
 }
//转为小数
 function padding2(num, length) {
  var decimal = num / Math.pow(10, length);
  //toFixed指定保留几位小数
  decimal = decimal.toFixed(length) + "";
  return decimal.substr(decimal.indexOf(".")+1);
 }
 //填充截取法
 function padding3(num, length) {
  //这里用slice和substr均可
  return (Array(length).join("0") + num).slice(-length);
 }

 function test(num, length) {
  document.write(padding1(num, length));
  document.write("<br>");
  document.write(padding2(num, length));
  document.write("<br>");
  document.write(padding3(num, length));
 }
 test(123, 10);
</script>
</body>
</html>

結果:

0000000123  
0000000123  
0000000123

以上がjsで数値を補完する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。