Excel电子表格公式到javascript问题#2
大家好。然而,在Excel电子表格到JavaScript的转换过程中,我仍然遇到一些问题,无法正确匹配 以下是excel公式:Excel电子表格公式到javascript问题#2,javascript,excel,excel-2007,excel-formula,Javascript,Excel,Excel 2007,Excel Formula,大家好。然而,在Excel电子表格到JavaScript的转换过程中,我仍然遇到一些问题,无法正确匹配 以下是excel公式: =IF(IF($B$7=TRUE,$B$28/$B$10,$B$28/$B$5)>1,1,IF($B$7=TRUE,$B$28/$B$10,$B$28/$B$5)) WHERE B7 = TRUE B28 = 76800 B10 = 892015 B5 = 999500 这是我迄今为止的JavaScript: function percent
=IF(IF($B$7=TRUE,$B$28/$B$10,$B$28/$B$5)>1,1,IF($B$7=TRUE,$B$28/$B$10,$B$28/$B$5))
WHERE
B7 = TRUE
B28 = 76800
B10 = 892015
B5 = 999500
这是我迄今为止的JavaScript:
function percent(x) { return Math.round((x-0)*100) + '%'; }
if($('#section179').is(':checked'))
{
var percentRepaid = $("#rev3DScanYear").val() / $("#section179Real").val();
if (percentRepaid > 1)
{
$("#paymentCashPer").val('100.00');
}else
{
percentRepaid = $("#rev3DScanYear").val() / $("#SalePrice").val();
$("#paymentCashPer").val(percent(percentRepaid));
}
}else
{
//to be done
}
WHERE
rev3DScanYear = 76800
SalePrice = 999500
section179Real = 892015
对于JavaScript代码,我一直得到8%的值,我应该得到8.61%的值,就像它在电子表格上一样
和往常一样,任何帮助都会很好o)
David数学。舍入((x-0)*100)使x
成为一个整数
您可以尝试Math.round(((x-0)*100)*100)/100
,它将x=8.609720…
转换为x=861
,然后将其除以,得到您正在寻找的x=8.61
,这就是他们的建议
…还有,我不太清楚为什么要从x中减去0…?好的,所以我又看了一遍,我想我第一次看得不够深入 如果我理解的话,逻辑是:
If Section179 is checked then Divisor is Section179Real, else it is SalePrice.
Give me the smaller of 1.00 or (rev3DScanYear / Divisor).
如果这是正确的,您可以在excel中使用=MIN(1,$B28/If($B$7=TRUE,$B$10,$B$5))
(相同的引用),这意味着以下操作应该按照您的要求执行:
var Divisor = $("#SalePrice");
if($('#section179').is(':checked'))
{
Divisor = $("#section179Real");
}
$("#paymentCashPer").val(Math.round(100*(Math.min(1, $("#rev3DScanYear")/Divisor)*100)/100;
科尔德诺思:当我尝试这样做的时候,我得到了7.68分。我遗漏了什么?由于某种原因,我的TI-84 76800/999500=0.08,但当我在javascript 768000/999500中做同样的事情时,它=0.768384192096048???76800/999500=7.68%,76800/892015=8.61%;你把它除以售价,而不是真的。