AE表达式教程-格式化数字

了解AE表达式的同学都知道,AE表达式是基于javascript语言编写的,那么我们就可以借助强大的javascript来实现一些AE无法实现,或者实现起来比较麻烦的效果。

比如,下面的格式化数字效果:

这个效果,国外有网友写了一大段代码,功能比较强大,可以自定义小数点后的数位,可以定自定义数字前是否显示货币符号。如果各位有兴趣,后面我会将那段代码拿出来说到说到。

今天,我给大家带来的是一个简单版的,自定义一个格式化数字的函数即可搞定。

下面是这个函数的使用步骤:

1、新建合成,选择文本工具,随便输入一个数字,比如950602,。

2、展开文本的,源文本,按住alt键,单击前面的码表,添加表达式。

3、删掉自动生成的表达式,将下面这段表达式复制进去。

startNum = 950602;

num = startNum*(time+1);

function number(data){

if(data!=null){

return data.toFixed(0).replace(/\d(?=(\d)+(\.\d*)?$)/g,'$&,');

}else{

return ;

}

}

number(num)

4、预览,即可看到格式化后的数字。

这段表达式的重点在于下面这个自定义函数:

function number(data){

if(data!=null){

return data.toFixed(0).replace(/\d(?=(\d)+(\.\d*)?$)/g,'$&,');

}else{

return ;

}

}

涉及到了javascript的正则表达式,过于复杂,这里就不做过多解释,有兴趣的同学可以自行搜索正在表达式学习。

function number(data){} 自定义一个名为number的函数,并传入一个参数,这个参数就是我们要来格式化的数字。

number(data); 调用函数。

是不是有点脑壳疼!

嗯,脑壳疼!

那就不用在意这些细节了, 直接拿去用吧。

最后,欢迎关注‘比邻课堂’,我会不定时发布一些AE、C4D教程、资源、ui动效赏析以及外文翻译! 长按可以关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019G0PUZ900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券