我正在编辑一个带数字的字段。我尝试了一个文本字段,但由于它是一个数字数据类型进来,它并不顺利 - 尽管重新编写字符串作为数字等..它不断给我NaN作为价值。所以我决定最好使用数字步进器。数值步进小数的奇怪行为
当我最初加载它会放弃我所有的小数,只显示我的整数数字。我将stepIncrement更改为0.1,现在它显示小数(一个奇怪的要求imo)..但是当我加强时,偶尔给我一个像'17.700000000000003'的值,当我期望17.7时。我的数据中的所有数字都有一个小数位。我知道我可以写一个数据格式化器,但在这种情况下似乎不需要。
有没有另一种方法可以解决这个问题?
啊!不幸的是toFixed是一个字符串值,我需要从我的数据库输入和输出数字。我尝试'.toFixed(1)as Number',但它不管数值如何都会以0.1结尾。 – Damon 2011-04-12 01:19:20
听起来很可行。我不是一个Flex框架用户,但是对组件描述的快速浏览让我认为你可以动态地操纵步进器的textField(TextInput)的maxChars属性来隐藏不精确性。将maxChars设置为四舍五入为整数的数字位数加1.如果您仍然希望支持手动输入数字,那么可能会有点不方便(例如,如果您必须删除对焦点的限制)。 – 2011-04-12 01:25:03
非常符合逻辑!不幸的是,事实证明,maxChars是“你”可以输入的字符的数量,而不是可以显示的字符的数量...... – Damon 2011-04-12 01:36:41