A Solution to rounding in Storyline – without using Javascript

Jun 06, 2013

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)

99 Replies
Shane Hille

When using the method of the Floorscore by Mitch will the LMS pick up that score as the resultscore? If not, the LMS will still show a non rounded grade right?

Reason im asking is, we have developed a course but it is not running in our own LMS. Every score with a decimal I.E. 66,78 is registered as 6678% instead of 66,78%.

Natasha Bomba

Does the non-javascript solution still work? It doesn't seem to do anything for me. I have all the triggers in order but I'm wondering if there's a conflict with the "go to layer x" at the start of the timeline--ie is it jumping to the next layer before applying the changes to the variable. 

Diana Myers

@Natasha - so glad that worked...  it's easy to overlook the Submit Results trigger since we're so accustomed to seeing it first in the trigger order, but when it's there it submits the results before the variable calculation triggers happen.  :-)  Best of luck on the rest of your project.

Natasha Bomba

Totally confused. I got this working yesterday on one course (screenshot where the results slide says 4.3). Did the same thing on another course (slide 1.45) and can't get it to work! It all looks the same to me but I keep getting two decimals. On a side note, has anyone else had issues when copying a result slide from one course to another? Seems to mess up the variables. I had to rebuild the second course's result screen from scratch (I could paste the objects, layers and triggers though). Help! 

Jeff Forrer

Quite genius actually.  It does add or subtract one, but does it while the condition is true.  So in the add case, it adds one until the condition "rounded < original_score" is not true anymore.  So in the case of 13.76, it keeps adding a whole number 14 times, to give you 14.  If you change the "original_score" variable to any decimal number, you can see that value change.

Sharon Bildstein

Thanks very much @Jennifer Barnett for posting the solution to change from %Results.scorePercent% to %Results.ScorePoints%. I just added an extra % to end of the string so the score can show as percent rather than points, and it worked perfectly and quickly! Now I can stop looking for a hidden textbox or state change or something that was causing the decimal point!