Formatted Number

Display numbers with thousands separators, decimals, and currency formatting.

Expression Code

// Formatted Number
// Apply to Source Text
// Add Slider Control named "Value"
val = Number(thisLayer.effect("Slider Control")("Slider"));
decimals = 0;       // Decimal places
separator = ",";    // Thousands separator
prefix = "";        // Currency/prefix
suffix = "";        // Suffix
neg = val < 0;
val = Math.abs(val);
multiplier = Math.pow(10, decimals);
fixed = (Math.round(val * multiplier) / multiplier).toString();
parts = fixed.split(".");
whole = parts[0];
frac = "";
if (decimals > 0) {
  frac = ".";
  if (parts.length > 1) {
    frac = frac + parts[1];
  }
  while (frac.length - 1 < decimals) {
    frac = frac + "0";
  }
}
formatted = "";
count = 0;
for (i = whole.length - 1; i >= 0; i--) {
  if (count > 0 && count % 3 == 0) {
    formatted = separator + formatted;
  }
  formatted = whole[i] + formatted;
  count++;
}
result = prefix + formatted + frac + suffix;
if (neg) result = "-" + result;
result;
Add a Slider Control named "Value" and keyframe it. Apply to Source Text. Set decimals, separator, prefix, and suffix to match your formatting needs.