我想在Flutter
中只输入TextField
中的十进制数。我试过下面的代码,但这是不工作。它允许alpha(a-z)和特殊字符。
TextField(
controller:
new TextEditingController(text: listDisplay[position].getBlockQty(),
),
textAlign: TextAlign.center,
maxLines: 1,
keyboardType: TextInputType.numberWithOptions(
decimal: true,
signed: false),
),
7条答案
按热度按时间gzjq41n41#
试试这个:
演示:
vcirk6k62#
在这种情况下,您可以使用
TextInputFormatter
。这里有一个例子,
子类
TextInputFormatter
在文本字段中使用它
raogr8fs3#
我正在使用这个代码,它给出了不同的结果,在一些手机上它只显示数字,在其他人它显示破折号和其他字符,所以它取决于启动器或类似的东西,我猜,在iPhone我猜它会显示正确的键盘(我已经尝试在iPhone 7s加).
inputFormatters
将只允许数字,所以你会得到你想要的。ewm0tg9j4#
添加inputFormatters行:
bn31dyow5#
我也一直在寻找这个问题的答案,经过多次尝试和努力,终于找到了。
你可以用这个正则表达式来表示decimal。
egdjgwm86#
我已经在我的一个项目中使用了这个代码,它的工作很好。我希望它会对你有所帮助。
xsuvu9jc7#
试试这个十进制
也
RegExp('([0-9]+(.[0-9]+)?)')对于允许数字和只有一个点