Javascript 使用Math.ceil两次-仍然有小数,并得到意外的答案

Javascript 使用Math.ceil两次-仍然有小数,并得到意外的答案,javascript,jquery,ceil,Javascript,Jquery,Ceil,我试图得到一个输入,在一个等式中的两个不同时间进行取整,但结果总是以小数结束。理想情况下,方程式应取“进尺”,乘以12,四舍五入至最接近的整数,再乘以3.5,再乘以1.05%,四舍五入至最接近的整数,并将其作为“总计”的值,用于“picketQuantity”的值。不幸的是,我不断得到小数点,而且答案与我期望的非常接近。例如,如果在“进尺”中输入“100”,在“围栏高度”中输入“6ft”,在“1x3.5x6”中输入“total”,那么“picketQuantity”应该返回361,但我得到的是4

我试图得到一个输入,在一个等式中的两个不同时间进行取整,但结果总是以小数结束。理想情况下,方程式应取“进尺”,乘以12,四舍五入至最接近的整数,再乘以3.5,再乘以1.05%,四舍五入至最接近的整数,并将其作为“总计”的值,用于“picketQuantity”的值。不幸的是,我不断得到小数点,而且答案与我期望的非常接近。例如,如果在“进尺”中输入“100”,在“围栏高度”中输入“6ft”,在“1x3.5x6”中输入“total”,那么“picketQuantity”应该返回361,但我得到的是447.3

如果有人能指出我错在哪里,我将不胜感激。谢谢大家! 这是一个JSFIDLE-

HTML:


在第二种
fenceStyle
情况下(当
fenceStyle
等于
bnb
时),方程中没有第二种
Math.ceil
函数


更新的fiddle:。

您正在用
1.05
乘以整件事。小心牙套

例如,代替

((Math.ceil((footage * 12) / 8.5) * 3) * 1.05);
您可以这样做:

Math.ceil((Math.ceil((footage * 12) / 8.5) * 3) * 1.05);

但我不知道这是否是解决您问题的正确公式。

id=“1x4”
多次?你应该知道我一定是独一无二的哦,哇,我从来没注意到我这么做过。我最初只是复制/粘贴选项,然后填写详细信息,但我一定完全忘记了id。谢谢他只是忘了把
Math.ceil
放在第二个例子中。
((Math.ceil((footage * 12) / 8.5) * 3) * 1.05);
Math.ceil((Math.ceil((footage * 12) / 8.5) * 3) * 1.05);