AE Counter Expression (0.0M views) I'm trying to work out a counter that simply goes like:

2.5M views

At the moment I've got this expression working along with a Slider Control:

var num = effect("Slider Control")("Slider")
num = Comma(num) + "M views";
[num]

function Comma(number)
{
number = '' + Math.round(number);
if (number.length &gt; 3)
{
var mod = number.length % 3;
var output = (mod &gt; 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i &lt; Math.floor(number.length / 3); i++)
{
if ((mod == 0) &amp;&amp; (i == 0))
output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
else
output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
else return number;
}


This though only makes my text layer go like:

2M views

I've tried already replacing the first line with:

effect("Slider Control")("Slider").value.toFixed(2)


But this adds a decimal followed by a comma normally, it doesn't work anyways on this expression but maybe it can help.

Thanks in advance.
Here's my cheat sheet for numeric text animations like this:

slider = (effect("Slider Control")("Slider").value);
tidying = (Math.round(slider * 100))/100;
SourceText = "$" + tidying + "bn" +"\r" +"DEBTS";


the .value is sometimes needed to force AE to look at the slider as a number, not as an object.

tidying is being done to round up to 2 decimal places

\r gives a line break

text is appended with +”text”+

you can comment out some text   /* like this */

So in the example above, you would get an output like this:

$5.23bn
DEBTS


So for your specific example, try something like this:

slider = (effect("Slider Control")("Slider").value);
tidying = (Math.round(slider * 10))/10;
SourceText = tidying + "M views";


To specify showing a decimal place at all times (displaying "2.0" when your slider is set to "2"), use the "toFixed" function, like this:

slider = (effect("Slider Control")("Slider").value);
tidying = ((Math.round(slider * 10))/10).toFixed(1);
SourceText = tidying + "M views";


Screenshot: