【问题标题】:Problems with dynamic TextField and decimal Number动态文本字段和十进制数的问题
【发布时间】:2015-10-04 12:01:41
【问题描述】:

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

当我追踪数字时

trace(number.toFixed(2));

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

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

txt_Field.text = number.toFixed(2);

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

我做错了什么?

【问题讨论】:

  • 我建议你为你正在使用的编程语言添加一个标签。

标签: actionscript-3 flash decimal textfield comma


【解决方案1】:

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

首先,你能检查一下 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;

【讨论】:

  • 你的提示让我找到了解决方案,我只是犯了一个非常愚蠢的错误,并没有嵌入我需要的一切。但它现在正在工作!非常感谢!
【解决方案2】:

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

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

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

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

希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2014-02-07
    相关资源
    最近更新 更多