我想将时间(min:sec:hs)转换为十进制。逗号前为秒,逗号后为小数秒。就像是:
02:10:55 = 130,55(2 * 60 + 10)和(.55)

的HTML

<form>
Min: <input type="number" id="min" onkeyup="myFunction()">
Sec: <input type="number" id="sec" onkeyup="myFunction()">
Hon: <input type="number" id="hon" onkeyup="myFunction()">
<p class="result"></p>
</form>


JQUERY

<script type="text/javascript">
function myFunction() {
var num1 = $("input[id='min']").val(),
num2 = $("input[id='sec']").val(),
num3 = $("input[id='hon']").val(),
result = parseInt(num1) * 60 + parseInt(num2);
$(".result").text(result);
}
</script>


感谢@Andrew Brooke,我使用以下代码解决了它:

result = parseInt(num1) * 60 + parseInt(num2) + "." + parseInt(num3)


现在我有另一个问题。即使只填写一个字段,我也想得到结果。现在,如果该字段之一为空,则得到NaN。

任何帮助将不胜感激。提前致谢,

最佳答案

对于第一个问题,您可以将字符串用逗号连接起来

result = parseInt(num1) * 60 + parseInt(num2) + "," + parseInt(num3);


对于第二个问题,一个简单的解决方案是检查文本框是否为空,如果是,则将num1, num2, or num3的值设置为0。像这样

var num1 = $("input[id='min']").val() != "" ? $("input[id='min']").val() : 0,
    num2 = $("input[id='sec']").val() != "" ? $("input[id='sec']").val() : 0,
    num3 = $("input[id='hon']").val() != "" ? $("input[id='hon']").val() : 0,
...

关于javascript - 使用jQuery将时间转换为十进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34799964/

10-11 06:12