当前位置: 首页 > 知识库问答 >
问题:

具有十进制数的颤振输入

吴康平
2023-03-14

我正试图解析颤振中的输入,并从中提取双倍值。即用户只能输入十进制数。

为此,我使用TextField:

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

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

Error: FormatException: Invalid double 5,

处理这件事最好的方法是什么?一些肮脏的解决方案是:

  • 使用TextInputType.number有选项(签名:真,十进制:真)-这给键盘不仅有数字和用户输入点。
  • 也许可以先用点代替逗号

共有1个答案

卫博
2023-03-14

显示逗号背后的原因是设备的本地区域格式。也许这个链接可以帮助你。

 类似资料:
  • 我试图让我的代码在用户输入十进制数/负数时提示错误消息,并将继续循环,直到实现大于0的正数。 这就是我目前所拥有的;

  • 我正在使用DecimalFormats将双打格式化为字符串。然后这个字符串被集成到我的表示层中。 问题:我想保留所有的小数。示例:“12345678.123456789” 格式:#.#- 我可以用##########对于大小数点,但是如果小数点更长呢? 我发现我的小测试程序很有用,想和大家分享。 你能帮我显示所有小数吗? 这导致: 编辑:一位用户提到了一个相关的问题:如何很好地将浮点数格式化为字符

  • 我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?

  • 这只有在我添加了足够多的依赖项时才会发生,这可能是预期的。我已经按照说明(https://developer.Android.com/studio/build/multidex.html)在Android项目文件中启用了multidex并添加了multidex依赖项,但不确定如何处理Flutter应用程序的“为multidex配置您的应用程序”中的第2步,甚至不确定是否遗漏了该步骤。 > 从工具栏

  • 用户用十六进制或二进制输入一个数字(必须以0x或0b为前缀,如果没有给出错误信息) 我不能用基数,我只是用整数。parseInt(s) 我不知道怎样才能使这个计划奏效。。请帮帮我,我还缺什么?

  • 在标准库中学习十进制,这似乎是python 3.6中的一个新函数: 返回一对整数(n, d),这些整数以小数形式表示给定的Decimal实例,以最低条件表示,并带有正分母 所以我试了一下: 对于工作正常,但是很难相信是的最低分数项,也许可以是更好的输出? 好的,我在使用而不是时得到了回答,那么这是否意味着在使用Decimal()时,最好输入而不是?