【问题标题】:Flutter (iOS) number keyboard decimal separatorFlutter (iOS) 数字键盘小数分隔符
【发布时间】:2019-08-07 14:57:57
【问题描述】:

使用数字键盘时,它会根据手机的区域设置决定是用点还是逗号分隔小数。出于某种原因,Apple 已经决定在荷兰它是一个逗号,但这里每个人都用一个点分隔小数。

更改手机的区域可行,但不是可行的解决方案。

有没有办法全局/固定更改 ios 区域?

【问题讨论】:

  • 我来这个问题是因为我还需要一个点而不是逗号(因为我想用它来输入 IP 地址。但在荷兰,逗号是小数点分隔符,所以我不太清楚你所说的“这里”是什么意思。我只是想警告你,如果你覆盖默认行为,你可能会让一些人感到困惑。

标签: ios flutter


【解决方案1】:

好的,终于找到解决办法了。您不能替换逗号或点,但您可以使用 TextFormatter。示例:

class CommaTextInputFormatter extends TextInputFormatter {
 @override
 TextEditingValue formatEditUpdate(
  TextEditingValue oldValue, TextEditingValue newValue) {
  String truncated = newValue.text;
  TextSelection newSelection = newValue.selection;

if (newValue.text.contains(",")) {
  truncated = newValue.text.replaceFirst(RegExp(','), '.');
}
return TextEditingValue(
  text: truncated,
  selection: newSelection,
);

} }

【讨论】:

  • 如果我有“,”作为千位分隔符怎么办?
猜你喜欢
  • 2010-11-13
  • 2018-12-16
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 2011-04-18
  • 2016-10-29
  • 2015-01-15
  • 2014-01-28
相关资源
最近更新 更多