2017-07-13 79 views
0

我試圖在AngularJS應用中持續顯示十進制數字。JavaScript:獲取輸入類型中使用的小數點分隔符=「數字」

文本中的十進制數字(span/div/...)應該與輸入字段中的十進制數字以相同的分隔符顯示。

使用逗號或點號無關緊要。

如何查找瀏覽器在 <input type="number">字段中使用的小數點分隔符?

我嘗試使用toLocaleString和AngularJS的number filter,但是這並不總是與輸入字段匹配,因爲某些瀏覽器沒有考慮用戶的語言環境。

我不想使用<input type="text">,因爲移動設備上的可用性原因。

+0

*「......因爲有些瀏覽器不拿用戶的區域考慮爲輸入字段。」 *真的嗎?布萊什。 –

+0

如果確實是瀏覽器在'input type =「number」'字段中使用錯誤的千位/十進制分隔符的情況下(坦率地說,這很難相信,但我現在沒有時間檢查),我會說這不是你的問題:與相關瀏覽器供應商的文件錯誤報告,使用正確的,特定於語言環境的文件(例如'toLocaleString'或Angular的'數字'格式化程序),並且如果有人抱怨輸入,請指出錯誤報告。 –

+0

@ T.J.Crowder問題在於HTML5規範沒有多說這個。瀏覽器可以自由顯示輸入字段,而不是所有的都使用語言環境。請參閱本博客:https://ctrl.blog/entry/html5-input-number-localization – fikkatra

回答

-1

您是否嘗試過使用數字過濾器?它使用當前的語言環境來確定數字格式。

<span>{{val | number:2}} 

https://docs.angularjs.org/api/ng/filter/number

+1

但因爲OP說:*「...因爲某些瀏覽器不考慮輸入字段的用戶區域設置」*如果它使用區域設置,比如'toLocaleStting',它具有相同的問題,不是? –

相關問題