簡體   English   中英

如何舍入一個輸出步驟.5(javascript)並使用輸出進行計算?

[英]How to round an output step .5 (javascript) and calculate with the output?

我對JavaScript和/或表單計算不是很熟悉。 我在網上搜索有關該主題的表格和腳本。

如何以0.5步(1.0 1.5 2.0…7.7 = 7.5或7.8 = 8.0)四舍五入輸出(output_abc)以及將其放置在哪里? 如何(將輸出舍入后)[input_a] + [output_abc]?

我願意接受所有建議,指出方向,提供幫助。

 (function() { function calcABC(input_a, input_b, input_c) { input_a = parseFloat(input_a); input_b = parseFloat(input_b); input_c = parseFloat(input_c); return (input_a + input_b + input_c).toFixed(1); } var SUM_ABC = document.getElementById("FORMINPUT"); if (SUM_ABC) { SUM_ABC.onsubmit = function() { this.output_abc.value = calcABC(this.input_a.value, this.input_b.value, this.input_c.value); return false; }; } }()); 
 <form id="FORMINPUT" action=""> <p><label for="input_a">input a</label> <input id="input_a" name="input_a" type="number" pattern="[1-9]" min="1" max="99" /></p> <p><label for="input_b">input b</label> <input id="input_b" name="input_b" type="number" pattern="[1-9]" min="1" max="99" /></p> <p><label for="input_c">input c</label> <input id="input_c" name="input_c" type="number" pattern="[1-9]" min="1" max="99" /></p> <p><input type="reset" value="Reset" /> <input type="submit" value="Calculate" /></p> <p><label for="output_abc">output abc</label> <output id="output abc" name="output abc" type="number"></output> </p> <p>Here I want to display [input_a + output_abc]</p> </form> 

您可以做的是將ouput_abc取整為

Math.round(output.abc * 2)/2

它將以0.5步為您提供輸出

四舍五入到0.5,非常類似於四舍五入到小數點后兩位等。

基本上乘以X,先四舍五入,然后再除以X。

X =舍入規格。 因此,如果您想四舍五入到小數點后7.17 = Math.round(7.17 * 10) / 10 ,例如-> 7.17 = Math.round(7.17 * 10) / 10 ,那么當然可以得到7.2

因此,要一輪0.5 ,X只會等於2 ..

例如。

Math.round(7.7 * 2) / 2 === 7.5

也許您可以在調用calcABC函數的行之后添加,但在此之前將函數的返回值分配給變量。


  function calcABC(input_a, input_b, input_c) {
    input_a = parseFloat(input_a);
    input_b = parseFloat(input_b);
    input_c = parseFloat(input_c);
    return (input_a + input_b + input_c).toFixed(1);
  }
  var SUM_ABC = document.getElementById("FORMINPUT");
  if (SUM_ABC) {
    SUM_ABC.onsubmit = function() {
      var outputValue = calcABC(this.input_a.value, this.input_b.value, this.input_c.value);
this.output_abc.value = Math.round(outputValue * 2)/2
      return false;
    };
  }
}());````

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM