Copy link to clipboard
Copied
Hello all.
I have the following expression for my source code:
effect("Einstellungen für Schieberegler")("Schieberegler").value.toFixed(1)+" %";
Unfortunately, the digits after the comma are separated by a dot. Since I work in Germany, I would like to have the place after the comma separated by a comma.
Unfortunately, this does not work as an addition:
replace (".",",");
Can anyone help me?
Thank you very much!
Also this one is better if you want to automatically add comma for every 3 digits
num = effect("Slider Control")("Slider").value.toFixed(1).toString().replace(".", ",")+"%";
function addCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
addCommas(num)
num =effect("Einstellungen für Schieberegler")("Schieberegler").value.toFixed(1).toString().replace(".", ",")+" %";
function addCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
addCommas(num
...
Copy link to clipboard
Copied
Make sure your project's expression engine is Javascript (which you can do in File > Project Settings > Expressions, then use this expression:
text.sourceText.split('.').join(',');
Someone who knows Javascript better than me can explain why what you would usually use:
text.sourceText.replace(/./g, ",")
replaces all the characters and there's probably a simple character addition to tell the script to only select '.' and not take it to mean all characters.
Copy link to clipboard
Copied
Dear ShiveringCactus
Thank you very much for your help. Unfortunately it doesn't work, although I checked before that my file uses Java script (thanks for the tip). The result was that the whole number was replaced by the word "numbers".
However, OussK's idea worked:
effect("Slider settings")("Slider").value.toFixed(1).toString().replace(".", ",")+" %";
Copy link to clipboard
Copied
Thank you very much, this code worked for me too.
Copy link to clipboard
Copied
In regex syntax the "." symbol is a special character that matches any character other than a line terminator. It should work if you escape it:
text.sourceText.replace(/\./g, ",")
If you are trying to get a better handle on how regular expressions work an online regex tester like the one at https://regex101.com can be invaluable.
Copy link to clipboard
Copied
try this
effect("Slider Control")("Slider").value.toFixed(1).toString().replace(".", ",")+"%";
in German
effect("Einstellungen für Schieberegler")("Schieberegler").value.toFixed(1).toString().replace(".", ",")+" %";
Copy link to clipboard
Copied
Also this one is better if you want to automatically add comma for every 3 digits
num = effect("Slider Control")("Slider").value.toFixed(1).toString().replace(".", ",")+"%";
function addCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
addCommas(num)
num =effect("Einstellungen für Schieberegler")("Schieberegler").value.toFixed(1).toString().replace(".", ",")+" %";
function addCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
addCommas(num)
Copy link to clipboard
Copied
Dear OussK
You are my hero. Thank you very much! I wish you a sunny Sunday 😉
Kind regards from Düsseldorf (Germany),
Stefan
Copy link to clipboard
Copied
you're welcome, don't forget mark the answer as correct if it help you
Copy link to clipboard
Copied
Dear OussK
You are also my hero, thank you very much from Phnom Penh!
Copy link to clipboard
Copied
The '.toString' thing saved me man, thanks a million!
Copy link to clipboard
Copied
MAN, you saved my professional life - just wasted about 2 hours on sensless youtube videos not solving the problem, NICE ONE AND SIMPLE thank you so much
Copy link to clipboard
Copied
You'll want to use toLocaleString() to solve such issues related to international numbering systems.
I've started writing a series of short tutorials on using Modern Javascript in After Effects Expressions. These are part of my Advanced Course on Developing Advanced Intelligent Design Assets - these are start of the moment AE Templates/MoGRTs.
https://www.broadcastgems.com/post/modern-javascript-adobe-after-effects-expressions-tolocalestring
I'll add more topics in the days and weeks ahead. Quite a few will also make it into my upcoming AE Script, AeXpressions NotePad - I hope it's OK to share this teaser/snippet.