我怎样才能得到MOD在Javascript中正确返回小数
How can I get MOD in Javascript to return a decimal correctly?
我正在处理的一个简单问题是花时间在几秒钟内跑300米,并将它们转换为字符串,使其读为"9:99.99"。为了获得秒数,我执行以下MOD操作:
sec = result % 60;
除非小数部分为0.5(即60.5,75.5等),否则不会像预期的那样工作。任何其他小数给出的结果都需要12位以上的有效数字来表示。
例如,64.55 % 60的结果是4.549999999999999997。
我知道一个简单的解决方案是在小数点上进行拆分,然后将结果与小数点连接起来,但这只是引起了我的兴趣。我做错了什么,是否有一个很好的方法来解决这个使用MOD单独?
那么让我们假设您的值为921.856秒。
var value = 921.856;
var minutes = Math.floor(value/60), // 15
seconds = value % 60, // 21.856
time = minutes + ":" + seconds.toFixed(2); // 15:21.86
不舍入:
time = minutes + ":" + (Math.floor(seconds * 100)/100).toFixed(2); // 15:21.85
相关文章:
- 用于Javascript中小数输入的Regex,小数前有1到3位,小数后有1到三位
- 在javascript中使用小数
- 正则表达式,不允许在javascript中使用负数和小数以及零
- 用于输入文本字段的Javascript验证器,仅用于两位小数
- JavaScript 是否考虑了本地小数分隔符
- 浮点数的总和在 JavaScript 中没有给出小数
- 删除Javascript中小数后的数字
- 用Javascript替换数字's小数
- JavaScript从我的小数中去除了.00
- JavaScript打印的数字有20位小数
- Javascript-格式化数字,始终显示原始的小数位数
- 使用javascript查找小数前的整数(不包括特殊字符)
- 如何通过 javascript 在浮点数中保留小数点数后的 2 位数字
- 如何在javascript中使用小数
- 在Javascript中,大浮点数的小数位数有限制吗
- 如何在使用 JavaScript 四舍五入小数时忽略 “”,“
- 如何在javascript中将小数转换为帧速率指定
- 使用 Javascript 将小数更改为整数
- angularJS 和 JavaScript 数学小数问题
- 如何从 JavaScript 变量中删除所有小数