繁体   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