Finding % of real - % math xD

R 3 T R O

New Member
Reaction score
12
I've got this
JASS:
    set udg_FZReal = GetRandomReal(2600.00, 3700.00)


Now, i need to find out the % of it

for example lets say it randomed FZReal=2600, then that would be "100% of clouds are in the air" and if FZReal=3700 it would be "0% of clouds are in the air"

See where im going? so basically the higher the number of FZReal the lower the % number should be, and the lower the FZReal is the higher the % should be.

I'm going to need to display the % number to the players

NOTE: I do know how to find the % of a number but the way im doing it is 2600 / 3700 * 100 = % but this will give me a high % number when the FZReal is low
 

DrEvil

FCRI Associate!
Reaction score
111
( value - minValue ) / difference in amount = decimal
above * 100 = percent

3700 - 2600 = 1100
half = 550
2600 + half = 3150

3150 - 2600 (min value) = 550
550 / 1100 (difference) = 0.5
0.5*100 = 50 %

another example:

3000 - 2600 = 400
400 / 1100 = 0.3636(recur)
0.3636(recur)*100 = 36.4%
 

BAkil

New Member
Reaction score
9
Here's something simple, hope it works.

I have another significantly easier method of doing the same thing:
(3700 - FZReal)/1100

Lets do some examples:
FZReal = 3700
(3700 - 3700)/1100 = 0/1100 = 0.0 or 0%
FZReal = 2600
(3700 - 2600)/1100 = 1100/1100 = 1.0 or 100%
FZReal = 3200
(3700 - 3200)/1100 = 500/1100 = 0.45 or 45%

And such,
not everything has to be complicated =P
 

DrEvil

FCRI Associate!
Reaction score
111
oh yeah... i just realised that... the lowers numbers are the higher percentage xD

haha good job :)

'not everything has to be complicated =P'
It wasn't ...
 

BAkil

New Member
Reaction score
9
Sorry, I'm noob =(

IDK, I don't know how to use JASS or stuff so it scared me :(
 

roXplosive

New Member
Reaction score
15
You can choose any form of a function defined as f:[2600..3700]->[0..100] that satisfied the equalities : f(2600)=100 and f(3700)=100 . I imagine you are seeking a linear function since they are the simplest and they vary ... of course linearly . so f(x)=a*x+b and thus we have some equations :

2600*a+b=100
3700*a+b=0

Solving the equation system we get : a=-100/(3700-2600)=-100/1100 and b=-3700*a=3700*100/1100 .

so your function becomes : f(x)=100*(-x+3700)/1100

Of course some other simple variations include the function being a parabola or an ellipse arc . Hope this helps you fish (the saying : give the man a fish and you will feed him tonight but learn him to fish and you fed him forever )
 

R 3 T R O

New Member
Reaction score
12
Ok so this would work? but wouldn't i have to *100 for me to get a % number? instead of a dece for ex 0.45 cause i dont want it to display 0.45% i want 45%
Trigger:
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set FZReal = (Random real number between 2600.00 and 3700.00)
      • Set Caculations[1] = ((3700.00 - FZReal) / 1100.00)
      • Game - Display to (All players) the text: (There is + ((String(Caculations[1])) + % clouds covering the air.))
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top