Forum Discussion
A Solution to rounding in Storyline – without using Javascript
Normal 0 false false false oNotPromoteQF /> EN-US X-NONE X-NONE
I found a way to round numbers in Storyline without using Javascript. The challenge was to show whole percentage numbers from calculated decimal numbers (i.e. 33% for 1/3 and 67% for 2/3). Searching through the forums, all I could find was Javascript solutions and suggestions to submit a feature request. Not happy with either of these answers, I continued to play around.
I found that Storyline only holds 7 digits past the decimal place, and the 7th digit is rounded. So to get a rounded decimal (percentage) as a whole number, divide by 100,000, and then multiply by 10,000,000.
For example:
2 / 3 = 0.6666667 (rounded at the 7th position by Storyline)
0.6666667 / 100,000 = .000006666667 (which is rounded to 0.0000067)
0.0000067 * 10,000,000 = 67
Now we have our rounded 67% from 2/3
You should be able to apply this to any number you want to round. Divide and then multiply by a multiple of 10 that is large enough to push the number you want to round to the 7th position past the decimal (i.e. 13,567 / 10,000,000,000 * 10,000,000,000 = 14,000)
- BobColemanCommunity Member
Why couldn't you perform your math functions followed by the division and multiplication at the end to get the whole number. You could also use a condition to say if the answer is >10, you subtract one of the 0's, still allowing you to use the program without JS.
ex. answerNum / 100000 x 10000000 if answerNum<10
then another trigger that says answerNum / 10000 x 10000000 if answerNum>=10
The concept should be true. I'd have to actually play with the numbers to make it work exactly, but these kinds of triggers are definitely doable.
- ravikhadeCommunity Member
This works fine in flash version but not in html5 version
- dohareCommunity Member
Does anyone have specific screen shots on how to do round the percentage? I really can't seem to work out how to do this.
Thanks!
- MikeClapper-5daCommunity Member
I've tried this method in Storyline 3, and it doesn't seem to work. I still get a percentage down to the hundredths. I've even taken the divide/multiply operation to the maximum number of characters to no avail.
I tried copying some Javascript as well. I created a trigger to execute the following Javascript command: Math.round(Results.ScorePercent);
This did not work, either.
Any suggestions?
- LuchoCatelliCommunity Member
Hi!
Old but usefull thread. I´m trying to use it in Storyline 360 and it seems that it´s not working anymore. The number rounds up in storyline 2 but the same source file opened in 360 doesn´t work (it always shows two decimal numbers). Is there another workarround? Thanks!
- JayBolusCommunity Member
I'm in the same boat as Miriam - In need of this, but it doesn't work in SL3 either - Anyone have any miracles?
- OwenHoltSuper Hero
As long as you are not using the mobile player, JavaScript is your friend for rounding.
StoryLine 3/360 now support an infinitely long decimal making the old math round solution obsolete.
- RadosawKwasek-9Community Member
This method only works in Storyline 2. Storyline 3 holds much more digits. I divided number by 1e+308 (max) and then multipled by 1e+308 and the result was the same as source number.
- PhilippeJEANTYCommunity Member
I have tried the trick of Terry and Tom but the math are incorrect. I am not using this with a test score but with a slider, and I would like the slider to display just non decimal values but allow the slider to move in 10th of decimals.
Why is this the "rounded" value incorrect ?
- DerekSanfordCommunity Member
Is this still working in 360?
Some previous SL2 conversions to 360 aren't showing as rounded and starting from scratch comes up without rounding as well.
- MitchHayashiCommunity Member
I does not work in 360. See my solution above for a floor function that works in 360.
- CynthiaKlassenCommunity Member
I can't get this to work. I used the file that Tom uploaded four years ago (thanks Tom)! Wonder why this is still not automatic.
Anyway, maybe it's not working because I have two quizzes in my course so I have two results slides + I also have a final results slide.
I'm not as technically inclined as most of you so I just literally copy everything that Tom did in his file. I am unable to troubleshoot with my low skill levels.
Can anyone help me figure out why it isn't working? Does it have to do with the fact that I have 3 results slides? Should one of the triggers be altered? Do I need 3 variables...1 for each results slide? Everything I've tried has failed.
Thanks!
- AnnaGorshkovaCommunity Member
Hello Mitch and Lauren,
Mitch, thank you for the great workaround! Lauren, thank you for explaining how to keep the score at 100 vs. 99.
I am still trying to grasp how this workaround actually works... Now I'm getting 1% if I get all of the answers wrong.
Did anyone else run into this? What additional trigger am I missing to prevent this from happening?
Thank you again!
-Anna