将像素转换为分钟
Converting pixels to minutes
我有一个将像素转换为分钟和小时的应用程序。基本上使用分钟作为度量单位,例如:
120分钟= 240px
我通过这个函数运行它:
convertToTime: function (min) {
var hours = Math.floor( min / 60);
var minutes = Math.round(min % 60);
if (minutes < 10) {
minutes = "0" + minutes;
}
if (hours > 12) {
hours = hours % 12;
}
return hours + ":" + minutes;
}
除了minutes达到60之外,它返回的所有内容都是正确的。例如,它返回:
12:5812:5912:60
这不是我想要的,因为这不是实时的
我认为问题在于2像素对1分钟的比例。但是我很难把它钉牢。
任何帮助都非常感激,谢谢!
做Math.floor(min) % 60
代替Math.round(min % 60)
。
%
是模算子。x % 60
将始终产生一个介于0和59之间的整数值,包括正整数x
,这就是您想要的分钟显示。你的问题是min
不是一个整数——正好有一半的时间,因为你是通过将一个整数除以2来获得它的。特别是,当像素数为119时,min
为59.5,Math.round()
将其舍入为60。由于%
一般不太可能做您想要的浮点输入,因此正确的解决方案是在计算其模数之前确保值是整数,而不是在计算后尝试将其四舍五入。
您正在使用Math。除了数学。按分钟计时。你可以用数学来解决这个问题。给他们俩地板!
convertToTime: function (min) {
var hours = Math.floor( min / 60);
var minutes = Math.floor(min % 60);
if (minutes < 10) {
minutes = "0" + minutes;
}
if (hours > 12) {
hours = hours % 12;
}
return hours + ":" + minutes;
}
你也需要这样做
Math.round(Math.round(min) % 60)
或
Math.round(Math.floor(min) % 60)
或
Math.round(Math.ceil(min) % 60)
当你使用float时可能会给你这个错误…
相关文章:
- 如何在javascript中将秒转换为分钟和小时
- 如何使用javascript将秒转换为分钟.
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 将音频第二次转换为分钟和秒格式
- 将秒实时转换为小时和分钟
- 用javascript将pubDate转换为x分钟前
- 将秒转换为天,小时,分钟和秒
- 如何使用 矩.js 将分钟转换为小时
- 当文本框失去焦点时,将给定字符串转换为分钟
- 时差并在javascript中转换为小时和分钟
- 在 JavaScript 中将 Unix 时间转换为“几分钟前”
- 如何将毫秒转换为分钟
- 将小时转换为60分钟的正确除法
- 谷歌地图目录api将小时转换为分钟
- 用javascript将时间转换为分钟
- 日期转换为天、小时、分钟格式
- 转换具有属性值的对象的更快方法是什么:;HH:MM:SS”;以串“;N分钟”;
- 将分钟转换为秒
- 将分钟转换成日、周、月和年
- 如何用moment.js将小时和分钟转换为分钟