ゼロサプレスとは | Javascript超初心者の勉強

ゼロサプレスという言葉を耳にしたので、ゼロサプレスについて調べてみました。
実際にJavascriptでコードを書いてゼロサプレスの機能を実現するところまで書き残します。

ゼロサプレスとは

ゼロサプレス(zero suppress/suppression)、またの名はゼロ制御といいます。
suppressの日本語の意味に「情報を隠す」という意味があるので、ゼロサプレスを日本語に訳すと「ゼロ隠し」ということになるのでしょうか。

例えば1000(円)という数字を取り扱いたいのに「001000」という数字が受け渡されてしまった場合、余計な「0」を取り除き「1000」と変換する処理が必要となる。その処理のことをゼロサプレスと呼びます。

  • 00049823 → 49823
  • 7.678600000 → 7.6786
  • 0032.3231000 → 32.3231
  • 2.45000×1010 → 2.45×1010
  • 0.0045×1010 → 4.5×107

参考サイト:ゼロサプレス - Wikipedia

Javascriptでゼロサプレスしてみる

少し調べただけですが、Number()とparseInt()を使う方法が多くみつかりました。

Number()

Number()というメソッドを使用して「0」を取り除いてみます。

let num1 = "0001000";
let result1 = Number(num);
console.log(result1); //1000

ゼロサプレスが簡単に行えました。

Number()を使用すると小数点以下の数字も切り捨ててくれます。

let num2 = "0001000.020";
let result2 = Number(num2);
console.log(result2); // 1000.02

parseInt()

parseInt()を使って「0」を取り除いてみます。

let num3 = 00987;
let result3 = parseInt(num3);
console.log(result3); // 987

parseInt()でも簡単にゼロサプレスできました。

こちらは小数点以下は切り捨てられます。

let num4 = 00987.23400;
let result4 = parseInt(num4);
console.log(result4); // 987

小数点以下を残してゼロサプレスする場合は、parseFloat()を使用します。

let num4 = 00987.23400;
let result4 = parseFloat(num4);
console.log(result4); // 987.234

ゼロサプレス思っていた以上に簡単でした。