Javascript 浮点值需要在0.59之后四舍五入,就像秒一样

Javascript 浮点值需要在0.59之后四舍五入,就像秒一样,javascript,html,dom,Javascript,Html,Dom,下面是一个脚本,它将添加在输入字段中输入的所有浮点值。但是我在对值进行四舍五入时遇到了一个问题。在我的脚本中,小数点之前的值在0.99之后四舍五入(就像一个项目的价格)。但是我想在0.59(比如分钟)之后对值进行四舍五入 单击“计算”按钮时,该值将显示在另一个输入字段中 函数add_number(){ var first=parseFloat(document.getElementById(“sunday”).value); var second=parseFloat(document.get

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

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

函数add_number(){
var first=parseFloat(document.getElementById(“sunday”).value);
var second=parseFloat(document.getElementById(“星期一”).value);
var third=parseFloat(document.getElementById(“星期二”).value);
var forth=parseFloat(document.getElementById(“星期三”).value);
var fifth=parseFloat(document.getElementById(“星期四”).value);
var sixth=parseFloat(document.getElementById(“星期五”).value);
var seven=parseFloat(document.getElementById(“星期六”).value);
var rsl=第一+第二+第三+第四+第五+第六+第七;
document.getElementById(“txtresult”).value=rsl.toFixed(2);
}

算计



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

e、 g

然后


如果您需要帮助编写
hoursFromString
stringFromHours
,请用您遇到问题的零件的更多信息更新您的问题。

元素返回的值是多少如果您想这样做,您必须在添加之前将1/60分数转换为1/100,然后再转换回来,或者将其拆分并在第一位置单独添加。用另一种方式表示小时/分钟分数可能更容易。值
1.70
应转换为什么?加法如何-
1.5+1.5
应等于
3.0
3.4
?那么初始输入值单位是多少???感谢Jacob Krall的回复。实际上我想做的是,用户将输入每天的工作时间作为浮点值。如果一天的工作时间为5小时10分钟,则用户将按5.10输入。然后,当单击“计算”按钮时,需要添加并显示一周中输入的所有值作为总小时数。因此,如果输入的值是1.5和1.5,那么我需要将总工作时间显示为3小时40分钟。或者简单地说,3.40的值
1.5
不是1小时50分钟,而是1小时30分钟。这不是舍入的问题,而是
Number
s的工作方式。为了将它们相加,您需要将字符串输入
“1.50”
转换为十进制浮点
数字
,表示要添加的小数小时数,即
1.8333335
。加倍,您将得到
3.6666667
。然后,在最后,将其转换回人类可读的表示形式,如
“3hr 40min”
。考虑到浮点值为“a”和“b”,Jacob Krall是否有机会这样做。例如,如果该值为2.40,则a=2,b=0.40,如果(b>0.59){a=a+1;}否则a并且不需要在小时内显示。只需添加值并在0.59后舍入,然后显示原始值就足够了。1.5+1.5=3.4就是这样。我认为在仍然使用
+
操作符的情况下,没有任何方法可以让它工作<代码>1.5+1.5是
3.0
。您可以编写一个
addHours()
函数,将溢出考虑在内,为您添加它们。
var first = hoursFromString(document.getElementById("sunday").value);
//etc.
document.getElementById("txtresult").value = stringFromHours(result);