Flex的Number和Text
今天要说的问题不是Number和String转换的问题。而是使用时容易出的一些错误:
public static function ToFixed(value:Number, digits:uint = 0):String { //...... }
Fixed方法本意是要输入一个Number然后保留指定的小数位.但是我像下面这么使用的时候也没有报错。
TexInput1.text = currencyFormatter.format(Number(ToFixed(TexInput2.text,2)) - Number(ToFixed(ToFixed(TexInput3.text,2)));
输入的参数是TextInput的text 但是方法的要求参数类型是Number 但是并不提示出错,结果也都正常。 但是在后来测试的过程中。 我们发现只要TexInput3输入的数字大于1000
Number(ToFixed(ToFixed(TexInput3.text,2)))的结果会返回 0,不知道为什么小于1000就是正常的。 类型转换后,计算正常了。 所以平时注意类型匹配还是很重要的。虽然编译器不会报错,但是问题不知道在哪里等着我们呢。