带十进制数的颤动输入

问题描述 投票:0回答:1

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

要做到这一点,我正在使用TextField:

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

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

Error: FormatException: Invalid double 5,

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

  • 使用TextInputType.numberWithOptions(signed:true,decimal:true) - 这使键盘不仅有数字和用户输入点。
  • 也许以某种方式首先用点替换逗号
dart flutter
1个回答
0
投票

显示逗号的原因是因为设备的本地区域格式。也许this link可以帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.