我想格式化用户输入的时间。我正在显示一个文本框,用户可以在其中输入时间。我想格式化这样的数字:
如果用户输入1,则格式如下:
1.00
如果用户输入11,则格式如下:
11.00
如果用户输入11:03,则格式如下:
11.03
如果用户输入111,则格式如下:
1.11
如果用户输入1111,请格式如下:
11.11
怎么做?
答案 0 :(得分:2)
我没有看到任何神奇的解决方案,你必须对你看到的逻辑进行编程。
这样做:
function a(s){
return '00'.slice((''+s).length)+s;
}
function f(n){
var bc = Math.floor(n/100), ac = n%100; // gets the two parts
if (!bc) { // adjust if there's no right part
bc = ac;
ac = 0;
}
return a(bc)+'.'+a(ac);
}
测试:
[1, 11, 103, 1103, 1111].forEach(function(n){
console.log(n, '->', f(n));
});
日志
1 "->" "01.00"
11 "->" "11.00"
103 "->" "01.03"
1103 "->" "11.03"
1111 "->" "11.11"
答案 1 :(得分:0)
答案 2 :(得分:0)
The below code is the working solution.
<html>
<head>
<title>time</title>
<script type="text/javascript">
function get()
{
var t=prompt("ente time");
var result=1.00;
if(t.length==4)
{
result=(parseFloat(t)/100)*1.00;
}
else if(t.length==3)
result=(parseFloat(t)/100)*1.00;
else if(t.length==2)
result=t.concat(".00");
else if(t.length==1)
result=t.concat(".00");
else if(t.indexOf(":")!=-1)
{
result=t.substring(0,2)+"."+t.substring(3,5);
}
alert(result);
}
</script>
</head>
<body onLoad="get()">
</body>
</html>