私は解決するために簡単な問題を抱えていますが、変数にはdoubleが含まれています。私は2つの数値を合計し、結果を画面に出力する必要があります。私が働いている他の言語では、たとえそれが整数であっても、それが2倍であったという事実が10進数で印刷されるという結果になりました。 Javascriptでは、これは当てはまりません。丸めを行わずにJavascriptで整数を小数点として出力する
var d = 2.0;
console.log(d) // out is 2
私はtoFixed()
を使用して小数点以下を印刷するには、それを強制することができますが、他の入力の結果を丸めるために起こっています。結果が2.0の場合は「2.0」、結果が2.345の場合は「2.345」を出力します。
私が今持っている解決策は、それが全体の数である場合、文字列に変換することです:
var d2 = 4.0
console.log((d2 % 1 == 0) ? d2+".0" : d2) // out is 4.0
これを行うには、いくつかのより良い方法がなければならないように私は感じます。これは私には非常にclunkyようです。私は解決策を探してきましたが、私が今までに見つけたものはすべてtoFixed()
またはその他の丸めを使用しています。
JavaScriptには1つのタイプの番号しかないため、すべてがダブルです。それが整数であるかどうかは気にしません。手動で書式を設定する必要があります。 – Tashi
JavaScriptには、10進数または2倍のようなものはありません。すべてが数字です。これはかなり混乱します(ほとんどの言語とは異なります)。 – dirkk