这是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(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)
大卫
答案 0 :(得分:1)
Math.round((x-0)*100)
使x
为整数。
您可以尝试Math.round(((x-0)*100)*100)/100
将x = 8.609720...
转换为x=861
,然后将其除以获得您正在寻找的x=8.61
,这就是他们的建议{ {3}}
...另外,不确定为什么你要从x减去0 ......?
答案 1 :(得分:0)
好的,所以我一直在看这个,我觉得第一次看起来不够深。
如果我理解的话,逻辑就是:
If Section179 is checked then Divisor is Section179Real, else it is SalePrice.
Give me the smaller of 1.00 or (rev3DScanYear / Divisor).
如果这是正确的,你可以使用=MIN(1,$B28/IF($B$7=TRUE,$B$10,$B$5))
(相同的引用)在Excel中执行此操作,这意味着以下内容应该按照您的要求执行:
var Divisor = $("#SalePrice");
if($('#section179').is(':checked'))
{
Divisor = $("#section179Real");
}
$("#paymentCashPer").val(Math.round(100*(Math.min(1, $("#rev3DScanYear")/Divisor)*100)/100;