我正在尝试为一个TextFormField控制器从文本输入中显示十进制数字。这是我的代码:
void initState() {
super.initState();
_controller.addListener(() {
final text = _controller.text;
final amount = int.parse(text);
final showAmount = (amount/100).toStringAsFixed(2);
_controller.value = _controller.value.copyWith(
text: showAmount,
selection: TextSelection(
baseOffset: showAmount.length,
extentOffset: showAmount.length,
),
composing: TextRange.empty
);
});
}但是,在控制台中,我得到了以下异常:在为FormatException发送通知时抛出了以下TextEditingController:无效的基-10号(字符1)
是否有更好的方法来解析为int或显示带有十进制数的字符串?
发布于 2020-06-12 07:53:05
试图在这个小代码示例巴斯丁中提供以下更改,
readOnly TextField。TextField限制为仅使用keyboardType: TextInputType.number,和inputFormatters: [WhitelistingTextInputFormatter.digitsOnly]的输入。isEmpty的检查,初始值设置为空字符串。希望这能有所帮助。
https://stackoverflow.com/questions/62335909
复制相似问题