0

このコード行を見ていますが、意味がわかりません。この特定のコードは JavaScript ですが、最終的には Java Android アプリを作成したいと考えています。

$("#TxtHalfDot").val(Math.round((60000/bpm)*3*1000)/1000); 

         //bpm being a user entered value

私は数学のプロセスを理解しており、電卓を使って何度もそれを経験しています. ただし、*1000 の後に /1000 が続く意味がわかりません。

私の質問

これは「math.round」関数の奇妙な動作ですか、それとも単に必要ないだけですか。結構見てきたけど、見ていると省略できる気がするんですけど、私はコンピューターじゃないんです…。

(60000/bpm) * 3は同じ結果になります((60000/bpm) *3*1000)/1000

4

3 に答える 3

9

注意深く見ると、四捨五入後に項全体が 1000 で除算されていることがわかります。

それだけではありませんx * 1000 / 1000

于 2013-09-18T10:33:29.037 に答える
6

Math.round(a*1000)/1000a小数点以下 3 桁で丸められた数値になります。

例: Math.round(1234.123456 * 1000)/1000 = 1234.123

これがどのように機能するかは次のようになります: 数値ax小数があるとします (この例では 6)。数値に 10 の累乗 (この例では 3) を掛けてn、小数点以下のn桁を効果的に右に移動します。次に、数値を丸めます (小数点以下をすべて切り捨てます)。次に、10 を で割りn、小数点を後ろに移動します。

于 2013-09-18T10:33:43.240 に答える
1

それは括弧と関係があります。

Math.round((60000/bpm)*3*1000)/1000

完全にそれは読む..

60000 を bpm で割ってから 3000 を掛けてから Math.round を実行してから 1000 で割ります

可能なフロートを1000で割る前に丸めています

于 2013-09-18T10:38:22.660 に答える