动态文本字段和十进制数的问题

Problems with dynamic TextField and decimal Number

我用 Flash 和 Actionscript 制作了一个小程序,其中有一个动态 TextField,应该用十进制数字填充。 var "number" 包含一个有很多小数位的值,但应该只显示其中两个。

当我追踪号码时

trace(number.toFixed(2));

它返回 20.49,这正是我想要的值。

但是当我尝试将该值写入我的 TextField 时,逗号消失了。

txt_Field.text = number.toFixed(2);

在 TextField 中写着 2049,但是没有逗号。当我尝试不同的值作为数字时,TextField 的输出有几个错误,例如只有一个 deimal 位置,一个缺失的字符,...

我做错了什么?

我认为显示这个值有问题。这里有几个可能的选项:

首先,您能否检查一下 TextField 文本值实际是什么:

var testString:String = number.toFixed(2);
trace(testString);
txt_Field.text = testString;
trace(txt_Field.text);

如果跟踪显示您的值带有“.”然后是显示问题。在这种情况下,请检查 TextField 是否不小以适合数字和小数(您可以打开调试边框),或者您是否嵌入了字体。

您也可以尝试强制显示带点的字符串,只是为了查看 TextField 是否真的显示它们。

txt_Field.text = "test.TEST.test;

有很多方法可以做到这一点。
1.3vilguy给你第一个方法

  1. txt_Field.text = number.toFixed(2).toString();

    1. txt_Field.text = String(number.toFixed(2));

您还可以在此处查看和了解 Type:http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/data-types.html

希望这会有所帮助