私のコードでは、たとえば次のように複数の値を受け入れます。
8.7456
8.7
8
そして私はそれらを次のように表示させる必要があります
8.74
8.7
8
つまり、小数点以下2桁まで表示します。
これが最初の値に役立つことは理解してい.toFixed(2)
ますが、2番目と3番目の値には、不要な後続ゼロがあります。
希望する結果を出す方法は?
私のコードでは、たとえば次のように複数の値を受け入れます。
8.7456
8.7
8
そして私はそれらを次のように表示させる必要があります
8.74
8.7
8
つまり、小数点以下2桁まで表示します。
これが最初の値に役立つことは理解してい.toFixed(2)
ますが、2番目と3番目の値には、不要な後続ゼロがあります。
希望する結果を出す方法は?
Number.toFixed
数値を2桁に切り上げ、文字列としてフォーマットするために使用します。次に、を使用String.replace
して末尾のゼロを切り取ります。
[8.7456, 8.745, 8.74, 8.7, 8].forEach(function(num) {
var str = num.toFixed(2).replace(/\.?0+$/, "");
console.log(num, str);
});
100を掛け、、100floor
で割ります。
var n = 8.7456;
var result = Math.floor(n * 100) / 100; // 8.74
編集:事後にこの質問を見ている場合、これはおそらくあなたが望むものではありません。8.7456
これは、として表示されるという奇妙な要件を満たしてい8.74
ます。関連するコメントも参照してください。