Javascript 是Math.ceil();IE8支持Math.round()吗?
我有一个Javascript函数,它计算一个值并将该值重新插入一个Javascript 是Math.ceil();IE8支持Math.round()吗?,javascript,math,internet-explorer-8,Javascript,Math,Internet Explorer 8,我有一个Javascript函数,它计算一个值并将该值重新插入一个,同时将该值注入一个隐藏的 这是我的职责: $("input[name^='policies']:checkbox").change(function() { var el = $(this); if (el.is(":checked")) { no_policies++; } if (el.is(":not(:checked)")) { no_policies-
,同时将该值注入一个隐藏的
这是我的职责:
$("input[name^='policies']:checkbox").change(function() {
var el = $(this);
if (el.is(":checked")) {
no_policies++;
}
if (el.is(":not(:checked)")) {
no_policies--;
}
subscription = no_policies*policy_cost;
first_payment = Math.ceil(subscription+no_policies*(policy_cost/days_month)*days_left).toFixed(2);
alert(first_payment);
$("td#first_payment").text("R "+first_payment);
$("input#first_payment_txt").val(first_payment);
$("td#subscription").text("R "+subscription.toFixed(2));
});
在此声明之前,IE8上的所有功能都正常工作:
first_payment = Math.ceil(subscription+no_policies*(policy_cost/days_month)*days_left).toFixed(2);
我怀疑IE8在数学方面有问题。ceil
,是真的吗?另外,我是否可以使用其他函数/方法来规避此问题
提前感谢。两个问题的答案都是肯定的: 以下文档中提供了支持 模式:怪癖、Internet Explorer 6 标准,Internet Explorer 7 标准,Internet Explorer 8 标准,Internet Explorer 9 标准
另请参见通用表:似乎microsoft在从ie6()开始的所有版本上都支持Math.ceil,可能使用的变量之一未定义,或者您按0进行了偏差,或者其中一个变量不是数字,因此无法对结果进行归纳/舍入。IE8实际上有一个相当好的调试器。我建议点击F12打开它,然后转到脚本选项卡并选择开始调试按钮。这将允许您沿脚本设置断点,让脚本停止并等待您在它以自己的速度执行时分析变量。正如阿德里亚诺在评论中提到的,这很可能是您的一个变量的问题。您确定这些值都是数字吗?你试过一个干净的脚本来测试Math.ceil的固定值吗?嗯,没有,我没有,我会很快尝试。谢谢。谢谢,这似乎有些作用,所以显然我需要在某个地方初始化它们。很可能变量没有初始化或是文本,然后你必须将它们转换成数字。