Javascript 在 adobe 表单字段中 - 如果 "Trade In Value" 在指定范围内则转换为要相乘
Javascript in adobe form field - converting a "Trade In Value" To Be Multiplied if falls within specified range
我正在尝试为“汽车价值交易”创建一个 Javascript 范围计算器,这是我正在进行的一个庞大项目的一小部分,我在 excel 文件,但决定使用 Javascript 在 adobe acrobat pro 中重新制作,目的是调整数字的值,如果它落在下面的范围内,如果有人能指出我正确的方向来获取此代码辛苦了,非常感谢!
In plain text below,
Trade Value X 2.00 If Less Than 5999.00;
Trade Value X 1.75 If Greater Than 5999.00 But Less Then 9000.00;
Trade Value X 1.50 if Greater Than 9000.00 But less Than 11,000.00;
Trade Value X 1.40 if Greater Than 11,000.00 But less Than 12,000.00;
Trade Value X 1.35 if Greater Than 12,000.00 But less Than 13,000.00;
Trade Value X 1.30 if Greater Than 13,000.00 But less Than 14,000.00;
Trade Value X 1.25 if Greater Than 14,000.00 But less Than 17,000.00;
Trade Value X 1.20 if Greater Than 17,000.00 But less Than 20,000.00;
Trade Value X 1.15 if Greater Than 20,000.00 But less Than 24,000.00;
Trade Value X 1.10 if Greater Than 24,000.00;
应该 = Adobe 中的“融资金额”字段
我正在尝试实现的代码:
var VTV = Number(this.getField("VehicleTradeValue").valueAsString);
var AMF = Number(this.getField("AmountFinanced").valueAsString);
((VehicleTradeValue)*2.00) If (VehicleTradeValue) < 5999.00;
elif:
((VehicleTradeValue)*1.75) If (VehicleTradeValue) < 5999.00 < 9000.00;
elif:
((VehicleTradeValue)*1.50) if (VehicleTradeValue) > 9000.00 < 11,000.00;
elif:
((VehicleTradeValue)*1.40) if (VehicleTradeValue) > 11,000.00 < 12,000.00;
elif:
((VehicleTradeValue)*1.35) if (VehicleTradeValue) > 12,000.00 < 13,000.00;
elif:
((VehicleTradeValue)*1.30) if (VehicleTradeValue) > 13,000.00 < 14,000.00;
elif:
((VehicleTradeValue)*1.25) if (VehicleTradeValue) > 14,000.00 < 17,000.00;
elif:
((VehicleTradeValue)*1.20) if (VehicleTradeValue) > 17,000.00 < 20,000.00;
elif:
((VehicleTradeValue)*1.15) if (VehicleTradeValue) > 20,000.00 < 24,000.00;
else:
((VehicleTradeValue)*1.10) if (VehicleTradeValue) > 24,000.00;
event.value = self;
代码如下:
function adjustVTV(val, separator = ',', every = 3){
let vtv = +val.replace(/,/g, ''), n;
if(vtv < 5999){
vtv *= 2;
}
else if(vtv < 9000){
vtv *= 1.75;
}
else if(vtv < 11000){
vtv *= 1.5;
}
else if(vtv < 12000){
vtv *= 1.4;
}
else if(vtv < 13000){
vtv *= 1.35;
}
else if(vtv < 14000){
vtv *= 1.3;
}
else if(vtv < 17000){
vtv *= 1.25;
}
else if(vtv < 20000){
vtv *= 1.2;
}
else if(vtv < 24000){
vtv *= 1.15;
}
else{
vtv *= 1.1;
}
vtv = vtv.toFixed(2).split('.'); n = vtv[0].split('');
for(let i=n.length-every,z=0; i>z; i-=every){
n.splice(i, 0, separator);
}
return n.join('')+'.'+vtv[1];
}
/* your use
let vtv = +this.getField('VehicleTradeValue').valueAsString), amf = +this.getField('AmountFinanced').valueAsString;
console.log(adjustVTV(vtv));
*/
// example
console.log(adjustVTV('5998.99'));
console.log(adjustVTV('8999.99'));
console.log(adjustVTV('10999.99'));
console.log(adjustVTV('11999.99'));
console.log(adjustVTV('12999.99'));
console.log(adjustVTV('13999.99'));
console.log(adjustVTV('16999.99'));
console.log(adjustVTV('19999.99'));
console.log(adjustVTV('23999.99'));
console.log(adjustVTV('24,000.00'));
终于有了答案!!!
var vtv = this.getField("VehicleTradeValue").value;
if( vtv <= 6000) event.value = (vtv * 2.0);
else if ( vtv <= 9000) event.value = (vtv * 1.75);
else if( vtv <= 11000) event.value = (vtv * 1.50);
else if( vtv <= 12000) event.value = (vtv * 1.40);
else if( vtv <= 13000) event.value = (vtv * 1.35);
else if( vtv <= 14000) event.value = (vtv * 1.30);
else if( vtv <= 17000) event.value = (vtv * 1.25);
else if( vtv <= 20000) event.value = (vtv * 1.20);
else if( vtv <= 24000) event.value = (vtv * 1.15);
else ( vtv <= 200000) event.value = (vtv * 1.10);
我正在尝试为“汽车价值交易”创建一个 Javascript 范围计算器,这是我正在进行的一个庞大项目的一小部分,我在 excel 文件,但决定使用 Javascript 在 adobe acrobat pro 中重新制作,目的是调整数字的值,如果它落在下面的范围内,如果有人能指出我正确的方向来获取此代码辛苦了,非常感谢!
In plain text below,
Trade Value X 2.00 If Less Than 5999.00;
Trade Value X 1.75 If Greater Than 5999.00 But Less Then 9000.00;
Trade Value X 1.50 if Greater Than 9000.00 But less Than 11,000.00;
Trade Value X 1.40 if Greater Than 11,000.00 But less Than 12,000.00;
Trade Value X 1.35 if Greater Than 12,000.00 But less Than 13,000.00;
Trade Value X 1.30 if Greater Than 13,000.00 But less Than 14,000.00;
Trade Value X 1.25 if Greater Than 14,000.00 But less Than 17,000.00;
Trade Value X 1.20 if Greater Than 17,000.00 But less Than 20,000.00;
Trade Value X 1.15 if Greater Than 20,000.00 But less Than 24,000.00;
Trade Value X 1.10 if Greater Than 24,000.00;
应该 = Adobe 中的“融资金额”字段
我正在尝试实现的代码:
var VTV = Number(this.getField("VehicleTradeValue").valueAsString);
var AMF = Number(this.getField("AmountFinanced").valueAsString);
((VehicleTradeValue)*2.00) If (VehicleTradeValue) < 5999.00;
elif:
((VehicleTradeValue)*1.75) If (VehicleTradeValue) < 5999.00 < 9000.00;
elif:
((VehicleTradeValue)*1.50) if (VehicleTradeValue) > 9000.00 < 11,000.00;
elif:
((VehicleTradeValue)*1.40) if (VehicleTradeValue) > 11,000.00 < 12,000.00;
elif:
((VehicleTradeValue)*1.35) if (VehicleTradeValue) > 12,000.00 < 13,000.00;
elif:
((VehicleTradeValue)*1.30) if (VehicleTradeValue) > 13,000.00 < 14,000.00;
elif:
((VehicleTradeValue)*1.25) if (VehicleTradeValue) > 14,000.00 < 17,000.00;
elif:
((VehicleTradeValue)*1.20) if (VehicleTradeValue) > 17,000.00 < 20,000.00;
elif:
((VehicleTradeValue)*1.15) if (VehicleTradeValue) > 20,000.00 < 24,000.00;
else:
((VehicleTradeValue)*1.10) if (VehicleTradeValue) > 24,000.00;
event.value = self;
代码如下:
function adjustVTV(val, separator = ',', every = 3){
let vtv = +val.replace(/,/g, ''), n;
if(vtv < 5999){
vtv *= 2;
}
else if(vtv < 9000){
vtv *= 1.75;
}
else if(vtv < 11000){
vtv *= 1.5;
}
else if(vtv < 12000){
vtv *= 1.4;
}
else if(vtv < 13000){
vtv *= 1.35;
}
else if(vtv < 14000){
vtv *= 1.3;
}
else if(vtv < 17000){
vtv *= 1.25;
}
else if(vtv < 20000){
vtv *= 1.2;
}
else if(vtv < 24000){
vtv *= 1.15;
}
else{
vtv *= 1.1;
}
vtv = vtv.toFixed(2).split('.'); n = vtv[0].split('');
for(let i=n.length-every,z=0; i>z; i-=every){
n.splice(i, 0, separator);
}
return n.join('')+'.'+vtv[1];
}
/* your use
let vtv = +this.getField('VehicleTradeValue').valueAsString), amf = +this.getField('AmountFinanced').valueAsString;
console.log(adjustVTV(vtv));
*/
// example
console.log(adjustVTV('5998.99'));
console.log(adjustVTV('8999.99'));
console.log(adjustVTV('10999.99'));
console.log(adjustVTV('11999.99'));
console.log(adjustVTV('12999.99'));
console.log(adjustVTV('13999.99'));
console.log(adjustVTV('16999.99'));
console.log(adjustVTV('19999.99'));
console.log(adjustVTV('23999.99'));
console.log(adjustVTV('24,000.00'));
终于有了答案!!!
var vtv = this.getField("VehicleTradeValue").value;
if( vtv <= 6000) event.value = (vtv * 2.0);
else if ( vtv <= 9000) event.value = (vtv * 1.75);
else if( vtv <= 11000) event.value = (vtv * 1.50);
else if( vtv <= 12000) event.value = (vtv * 1.40);
else if( vtv <= 13000) event.value = (vtv * 1.35);
else if( vtv <= 14000) event.value = (vtv * 1.30);
else if( vtv <= 17000) event.value = (vtv * 1.25);
else if( vtv <= 20000) event.value = (vtv * 1.20);
else if( vtv <= 24000) event.value = (vtv * 1.15);
else ( vtv <= 200000) event.value = (vtv * 1.10);