Flutter Intl库值,要获取的格式,或,以千为单位

mcvgt66p  于 2022-11-30  发布在  Flutter
关注(0)|答案(1)|浏览(129)

我使用Intl库是因为我希望千位数除以相对符号(例如.)。
然后我想这样:12230修改为:12.230(在我的区域设置中)
我想使用Intl库,因为它有区域设置自动化。
我的代码是:

final TextEditingController kcalEditingController =
              TextEditingController();
          kcalEditingController.addListener(() => setState(() {
                if (kcalEditingController.text.length > 3) {
                  NumberFormat numberFormat =
                      NumberFormat.decimalPattern(Platform.localeName);
                  kcalEditingController.text = numberFormat.format(int.parse(
                      kcalEditingController.text
                          .replaceAll(RegExp('[.,]'), '')));
                }
              }));

无论如何当我试着插入:1254一切都没事:结果1.254
现在键入数字5,新结果为:51.254(而非12.545)
此外,在4位数字之后,0(零)数字停止响应...
正如我所看到的,在输入第四个数字后,调用.format函数,光标移动到开始(在我的例子中,在数字1之前),我不能,即使手动或用鼠标,移动到最后一个位置(即使在我的例子中,在数字4之后)。

k2arahey

k2arahey1#

您应该使用TextInputFormatter,如下列程式码片段所示:
第一个

相关问题