这是一个脚本,它将添加在输入字段中输入的所有浮点值。但是我在实现价值时遇到了问题。在我的脚本中,小数点前的值在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的元素
;)引起您的注意。
答案 0 :(得分:1)
为了以所需的方式将这些值加在一起,您需要将输入转换为小数小时,然后将小数小时转换回所需的表示形式。 JavaScript没有内置的“小时”数据结构。JavaScriptNumber
类型具有十进制基数,因此只能像常规十进制数字一样工作。
例如
var first = hoursFromString(document.getElementById("sunday").value);
//etc.
然后
document.getElementById("txtresult").value = stringFromHours(result);
如果您在编写 hoursFromString
或 stringFromHours
时需要帮助,请在遇到问题的那部分提供更多信息,以更新您的问题