我正在編輯一個帶數字的字段。我嘗試了一個文本字段,但由於它是一個數字數據類型進來,它並不順利 - 儘管重新編寫字符串作爲數字等..它不斷給我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