【发布时间】:2019-08-16 17:39:02
【问题描述】:
我正在尝试解析 Flutter 中的输入并在那里提取 Double 值。 IE。用户只能输入十进制数字。
为此,我使用了 TextField:
TextField(
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true)
controller: _controller,
)
但在 iOS 设备上,我的键盘带有数字和逗号 (,),而不是点 (.)。当用户输入逗号时,我正在解析字符串并出现如下错误:
Error: FormatException: Invalid double 5,
处理此问题的最佳方法是什么? 一些肮脏的解决方案是:
- 使用 TextInputType.numberWithOptions(signed: true, decimal: true) - 这给键盘提供的不仅仅是数字和用户输入点。
- 也许先用点替换逗号
【问题讨论】: