[解決済み] JavaScriptで小数点以下が2つだけの数値を書式設定する
2022-03-16 17:57:47
質問
私は、数字を小数点以下2桁に丸める次のようなコードを持っています。しかし、次のような数字が表示されます。10.8、2.4、など。これらは私の考える小数点以下2桁の数字ではありませんので、どのように改善すればよいでしょうか?
Math.round(price*Math.pow(10,2))/Math.pow(10,2);
10.80、2.40などの数字が欲しいです。jQueryの使用は問題ないです。
どのように解決するのですか?
固定小数点表記で数値をフォーマットするには、単純に toFixed というメソッドがあります。
(10.8).toFixed(2); // "10.80"
var num = 2.4;
alert(num.toFixed(2)); // "2.40"
なお
toFixed()
は文字列を返します。
重要 : toFixed は 90% の確率で丸めません。丸めた値を返しますが、多くの場合、うまくいかないので注意してください。
例えば
2.005.toFixed(2) === "2.00"
UPDATE
現在では
Intl.NumberFormat
コンストラクタを使用します。の一部です。
ECMAScript国際化API仕様
(ECMA402) を参照してください。これには
かなり良いブラウザサポート
IE11も含めて
Node.jsで完全サポート
.
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});
console.log(formatter.format(2.005)); // "2.01"
console.log(formatter.format(1.345)); // "1.35"
代わりに
toLocaleString
このメソッドは、内部的には
Intl
APIを使用します。
const format = (num, decimals) => num.toLocaleString('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});
console.log(format(2.005)); // "2.01"
console.log(format(1.345)); // "1.35"
また、このAPIでは、千区切りや通貨記号など、さまざまな書式を選択することができます。
関連
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] JavaScriptで日付の書式設定に関するドキュメントはどこにありますか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
JavaScriptのクロージャの説明
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。