浮点值需要四舍五入到0.59之后,例如秒

时间:2018-07-02 19:01:23

标签: javascript html dom

这是一个脚本,它将添加在输入字段中输入的所有浮点值。但是我在实现价值时遇到了问题。在我的脚本中,小数点前的值在0.99(如项目价格)之后四舍五入。但我想在0.59(例如分钟)之后四舍五入。

单击“计算”按钮时,该值将显示在另一个输入字段中。

function add_number() {
  var first = parseFloat(document.getElementById("sunday").value);
  var second = parseFloat(document.getElementById("monday").value);
  var third = parseFloat(document.getElementById("tuesday").value);
  var forth = parseFloat(document.getElementById("wednesday").value);
  var fifth = parseFloat(document.getElementById("thursday").value);
  var sixth = parseFloat(document.getElementById("friday").value);
  var seventh = parseFloat(document.getElementById("saturday").value);
  var rsl = first + second + third + forth + fifth + sixth + seventh;
  document.getElementById("txtresult").value = rsl.toFixed(2);
}
<input type="number" name="sunhrs" id="sunday" />
<input type="number" name="monhrs" id="monday" />
<input type="number" name="tuesday" id="tuesday" />
<input type="number" name="wedhrs" id="wednesday" />
<input type="number" name="thurshrs" id="thursday" />
<input type="number" name="frihrs" id="friday" />
<input type="number" name="sathrs" id="saturday" />

<button onclick="add_number()">Calculate</button>
<br>
<br>
<input type="number" name="txtresult" id="txtresult" />

示例:如果我在输入字段中输入1.50,1.50并单击“计算”按钮,则输出将为 3.00 ,因为该值在0.99后四舍五入。但我希望值在 0.59 之后四舍五入,因此,输出将为 3.40

谢谢。

编辑:帖子中的第一个问题(这是我更改的原因); “结果”一词对JavaScript来说是特殊的,我没有将它用作变量名。

第二,忘记添加ID为txtresult的元素

;)引起您的注意。

1 个答案:

答案 0 :(得分:1)

为了以所需的方式将这些值加在一起,您需要将输入转换为小数小时,然后将小数小时转换回所需的表示形式。 JavaScript没有内置的“小时”数据结构。JavaScriptNumber类型具有十进制基数,因此只能像常规十进制数字一样工作。

例如

var first = hoursFromString(document.getElementById("sunday").value);
//etc.

然后

document.getElementById("txtresult").value = stringFromHours(result);

如果您在编写 hoursFromString stringFromHours 时需要帮助,请在遇到问题的那部分提供更多信息,以更新您的问题