[解決済み] Javascript: 丸め誤魔化して小数点以下N桁にした数値の書式設定
2022-09-06 09:19:07
質問
JavaScriptで、数字を小数点以下N桁に丸める典型的な方法は以下のようなものです。
function roundNumber(num, dec) {
return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
}
function roundNumber(num, dec) {
return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
}
console.log(roundNumber(0.1 + 0.2, 2));
console.log(roundNumber(2.1234, 2));
しかし、この方法では 最大 に丸められますが、小数点以下 N 桁に丸めたい場合は 常に を小数点以下 N 桁に丸めたい。たとえば、"2.0" は "2" に四捨五入されます。
何かアイデアはありますか?
どのように解決するのですか?
それは四捨五入の問題ではなく、表示の問題です。数値には有効数字の情報は含まれておらず、2という値は2.0000000000000と同じです。丸められた値を文字列にするときに、ある桁数を表示させなければならないのです。
のように、数字の後に0を付ければいいんです。
var s = number.toString();
if (s.indexOf('.') == -1) s += '.';
while (s.length < s.indexOf('.') + 4) s += '0';
(これは、クライアントの地域設定が小数点以下の区切り文字としてピリオドを使用していることを前提としていることに注意してください。)
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] JavaScriptで小数点以下が2つだけの数値を書式設定する
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] javascriptでfloatをフォーマットするには?
-
[解決済み] javascriptでfloatの数値を丸めるには?
-
[解決済み】常に小数点以下2桁を表示する数値の書式設定
-
[解決済み】JavaScriptで文字列を何度も繰り返す
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?