Highlighted

Can this be calculated in acrobat?

Explorer ,
Aug 13, 2020

Copy link to clipboard

Copied

If possible, how to do it pls?

SmartSelect_20200813-151803_Chrome.jpg

Use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
event.value = (1-f1)*.8;

 

EDIT: if you want it  to be more precise use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
if(al<15){
event.value = (1-f1)*.797;
}else if(al<27){
event.value = (1-f1)*.787;
}else if(al<34){
event.value = (1-f1)*.775;
}else if(al<43){
event.value = (1-f1)*.767;
}else if(al<48){
event.value = (1-f1)*.758;
}else if(al<60){
event.value = (1-f1)*.749;
}

 

TOPICS
Acrobat SDK and JavaScript, How to

Views

86

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Can this be calculated in acrobat?

Explorer ,
Aug 13, 2020

Copy link to clipboard

Copied

If possible, how to do it pls?

SmartSelect_20200813-151803_Chrome.jpg

Use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
event.value = (1-f1)*.8;

 

EDIT: if you want it  to be more precise use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
if(al<15){
event.value = (1-f1)*.797;
}else if(al<27){
event.value = (1-f1)*.787;
}else if(al<34){
event.value = (1-f1)*.775;
}else if(al<43){
event.value = (1-f1)*.767;
}else if(al<48){
event.value = (1-f1)*.758;
}else if(al<60){
event.value = (1-f1)*.749;
}

 

TOPICS
Acrobat SDK and JavaScript, How to

Views

87

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Aug 13, 2020 0
Adobe Community Professional ,
Aug 13, 2020

Copy link to clipboard

Copied

Yes it is possible with the Math functions.

https://www.w3schools.com/js/js_math.asp 

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 13, 2020 0
Most Valuable Participant ,
Aug 13, 2020

Copy link to clipboard

Copied

There's nothing special about this formula. The only operator that's a bit different is the square ("power of two") one, which can be done in JS using the pow (power) function of the Math object, like this:

Math.pow(x,y)

With y being 2 in this case.

The rest is just normal math operators ( + - / * ), and possibly parentheses.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 13, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

Hi, guys I still need help with this one, I was trying to figure it out but I'm stuck how to get this into code.
field1 is dodge rating and field2 is area level
and in field3 should be calculated percentage.
I'v gathered some info on the net so hopefully some1 can help me pls.
this is info i got so far:
calculator: https://www.desmos.com/calculator/b7s5aqep3b
original info: https://lastepoch.gamepedia.com/Dodge
and here are some examples:

LScKEUY.png

Thanks in advance 🙂

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Most Valuable Participant ,
Aug 24, 2020

Copy link to clipboard

Copied

If you're interested I could write the script for you that does this calculation, for a small fee.

You can contact me privately via [try6767 at gmail.com] to discuss it further.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

Thank you for your offer try67. I was working on javascript myself  but I'm not getting any result when using my code.

Can you tell me if i'm on right track at least?

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var lf = math.fraction(.1(x)+.001(x2),10+0.5(al)+0.05(al2))+1;
event.value = .8-(math.fraction(.8, lf));

I'm having trouble writing .001x2 getting "identifier starts immediately after numeric literal" so i used

parentheses but I don't think it's the right way.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Adobe Community Professional ,
Aug 24, 2020

Copy link to clipboard

Copied

To multiply values use *:

E.g. 0.001 * x2

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Most Valuable Participant ,
Aug 24, 2020

Copy link to clipboard

Copied

- There's no such thing as math.fraction in core JavaScript.

- JS doesn't allow implicit operators. If you want to multiply two values you have to use the "*" operator between them.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

Thanks il try with multiply.

I found math.fraction here: https://mathjs.org/docs/datatypes/fractions.html

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Most Valuable Participant ,
Aug 24, 2020

Copy link to clipboard

Copied

That's part of an external JS library. If you install it then you could use that command, but there's really no need to just for this one function. You can divide by using the "/" operator.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

Thank you guys for help,I sort of got it to work in example: rating 527 and area level 5 i get 75% instead of 77%, also as area level get higher value  percentage should be lower and mine is getting higher. any advice?

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var lf = (.1*x+.001*x2,10+0.5*al+0.05*al2)+1;
event.value = .8-(.8/lf);

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Adobe Community Professional ,
Aug 24, 2020

Copy link to clipboard

Copied

Why does you use a comma there:

var lf = (.1*x+.001*x2,10+0.5*al+0.05*al2)+1;

 

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

I thought I was supposed to.Would that affect anything?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Most Valuable Participant ,
Aug 24, 2020

Copy link to clipboard

Copied

You're not, and yes, it will cause it not to work correctly. What exactly did you intend to achieve by using it?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

I was trying to separate fractions because if i use / it works even worse.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Engaged ,
Aug 24, 2020

Copy link to clipboard

Copied

Use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
event.value = (1-f1)*.8;

 

EDIT: if you want it  to be more precise use this:

var x = Number(this.getField("Rating").value);
var x2 = Math.pow(x, 2);
var al = Number(this.getField("AreaLevel").value);
var al2 = Math.pow(al, 2);
var hf = (.1*x)+(.001*x2);
var lf = 10+(.5*al)+(.05*al2);
var f = (hf/lf)+1;
var f1 = (1/f);
if(al<15){
event.value = (1-f1)*.797;
}else if(al<27){
event.value = (1-f1)*.787;
}else if(al<34){
event.value = (1-f1)*.775;
}else if(al<43){
event.value = (1-f1)*.767;
}else if(al<48){
event.value = (1-f1)*.758;
}else if(al<60){
event.value = (1-f1)*.749;
}

 

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0
Marietaa LATEST
Explorer ,
Aug 24, 2020

Copy link to clipboard

Copied

Thank you Nesa so much that is working like a charm. Thank you all for helping 🙂

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 24, 2020 0