我正在处理 Adobe After Effects 中的一些动态图形,并想更改一个基于 Java 的表达式控件,但不幸的是我对该语言一无所知..
表达式为:
Math.round(thisComp.layer("Control").effect("Percent Control")("Slider"))+"%"
它基本上是一个从 0 到您输入的百分比的百分比,但我想删除 Math.round 以便它显示小数点但将其余部分保留为正确的代码,对于基本问题感到抱歉..
谢谢
我正在处理 Adobe After Effects 中的一些动态图形,并想更改一个基于 Java 的表达式控件,但不幸的是我对该语言一无所知..
表达式为:
Math.round(thisComp.layer("Control").effect("Percent Control")("Slider"))+"%"
它基本上是一个从 0 到您输入的百分比的百分比,但我想删除 Math.round 以便它显示小数点但将其余部分保留为正确的代码,对于基本问题感到抱歉..
谢谢
通常在 JavaScript 中格式化小数,你会做
parseFloat(Math.round(someNumber * 100) / 100).toFixed(1);
其中toFixed(1)
指定 1 个小数位,而 则(someNumber * 100) / 100)
简单地将整个整数转换为小数位浮点数。在您的情况下,这应该可以解决问题:
parseFloat(thisComp.layer("Control").effect("Percent Control")("Slider")).toFixed(1);
我删除了 Math.round 函数,因为它给你带来了问题。
你可以剪掉那部分Math.round()
。这会让你
thisComp.layer("Control").effect("Percent Control")("Slider")
要获得较小的数字,请尝试:
var num = thisComp.layer("Control").effect("Percent Control")("Slider");
var theActualNumberToUse = num.toFixed(1);
编辑:这是一个似乎可以正常工作的小提琴:) http://jsfiddle.net/3t9HN/