颤动输入带十进制数

时间:2019-03-26 10:56:51

标签: dart flutter

我正在尝试在Flutter中解析输入并在那里提取Double值。即用户只能输入十进制数字。

为此,我正在使用TextField:

TextField(
                    keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true)
                    controller: _controller,
                  )

但是,在iOS设备上,我的键盘带有数字和逗号(,),而不是点(。)。当用户输入逗号时,我正在解析字符串并出现如下错误:

Error: FormatException: Invalid double 5,

处理此问题的最佳方法是什么? 一些肮脏的解决方案是:

  • 使用TextInputType.numberWithOptions(符号:true,十进制:true)-这使键盘不仅具有数字,而且还具有用户输入点。
  • 也许以某种方式先用点替换逗号

1 个答案:

答案 0 :(得分:0)

显示逗号的原因是由于设备的本地格式。也许this link可以帮助您。