首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振FormatException

颤振FormatException
EN

Stack Overflow用户
提问于 2020-06-12 01:02:16
回答 1查看 662关注 0票数 0

我正在尝试为一个TextFormField控制器从文本输入中显示十进制数字。这是我的代码:

代码语言:javascript
复制
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或显示带有十进制数的字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 07:53:05

试图在这个小代码示例巴斯丁中提供以下更改,

  1. 为输出添加了一个单独的readOnly TextField
  2. 将输入TextField限制为仅使用keyboardType: TextInputType.number,inputFormatters: [WhitelistingTextInputFormatter.digitsOnly]的输入。
  3. 添加了对isEmpty的检查,初始值设置为空字符串。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62335909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档