2013-11-09 103 views
1

我的工作在Adobe一些运动图形After Effects和想改变是基于Java的但不幸的是我不知道的语言任何一个表达控制..影响后math.round的Javascript脚本

表达式为:

Math.round(thisComp.layer("Control").effect("Percent Control")("Slider"))+"%" 

它基本上是从0到你把但是我想删除的Math.round,使其显示小数点,但保留其余部分正确的代码的百分比的百分比,对不起对于基本的问题..

谢谢

+0

这并没有回答这个问题,但我认为这会有利于你知道JavaScript与Java无关。 –

+0

感谢您的提示! – user2667664

回答

0

你可以修剪掉那部分Math.round()。这将离开你 thisComp.layer("Control").effect("Percent Control")("Slider")

为了得到一个小数目尝试:

var num = thisComp.layer("Control").effect("Percent Control")("Slider"); 
var theActualNumberToUse = num.toFixed(1); 

编辑:下面是一个似乎一般在JavaScript中正常工作:) http://jsfiddle.net/3t9HN/

+0

呵呵非常感谢你,唯一的问题是我现在有13位小数,你能告诉我如何只放一个? – user2667664

+0

如果它是一个动画,它是一个很长的价值吗?我不是After Effects或动画专家,所以我不知道你是否在视觉上看到了差异,或者它只是为了你自己的安慰(我倾向于圆滑的东西来平息我的神经,我很奇怪) – CaptainCarl

+0

是的,不幸的是我有一大串数字在屏幕上,它的促销视频信息图 – user2667664

1

格式化十进制拨弄你会做

parseFloat(Math.round(someNumber * 100)/100).toFixed(1); 

其中toFixed(1)指定1位小数,和(someNumber * 100)/100)只是将整数转换为小数位数float。在你的情况下,这应该做的伎俩:

parseFloat(thisComp.layer("Control").effect("Percent Control")("Slider")).toFixed(1); 

我删除了Math.round函数,因为它给你的问题。

+0

非常感谢你,这给了我一个小数位,但是当百分比从0-16.5(我选择的值)变化时,.0根本不移动,它最终在17 ,在@CaptainCarl的版本中,十进制值不会移动,并且它会在我输入的位置结束(16.5%) – user2667664

+0

请参阅我的编辑。删除'Math.round()'部分,但保留'parseFloat()。toFixed(1)'我提到过。它应该为你工作。 –

+0

谢谢你们,完美的作品 – user2667664