flutter - 如何将数字从一种语言转换为英语或强制用户只用英语书写?
问题描述
我想将阿拉伯数字转换成英文或强制用户只输入英文数字,那么该怎么做呢?即 123 = ١٢٣ 等等。
解决方案
要转换数字,您可以简单地编写如下函数:
Map persianNumberMap = {
'۰': '0',
'۱': '1',
'۲': '2',
'۳': '3',
'۴': '4',
'۵': '5',
'۶': '6',
'۷': '7',
'۸': '8',
'۹': '9'
};
String convertPersianNumberToEnglish(String number) {
String converted = number;
persianNumberMap.forEach((key, value) => converted.replaceAll(key, value));
return converted;
}
但您也可以FilteringTextInputFormatter
用来限制 a 的输入TextField
:
TextField(inputFormatters: [
FilteringTextInputFormatter.allow(RegExp("[0-9]")),
])
这TextField
将只接受英文数字字符。
推荐阅读
- linux - 如何解锁先前在 PgAdmin 4 中锁定的“保存文件”对话框中的文件夹?
- mysql - 使用 word + id 列更新 SQL 值
- javascript - 使用 axios 和 React 将图像上传到 Strapi /upload
- raspberry-pi3 - 树莓派接入点:为客户端分配固定 IP
- php - 无法使用 xampp 在本地 wordpress 上安装任何东西
- java - 当响应体根据程序中的if条件发生变化时如何处理?
- java - 避免来自 Java 标准输入流的控制序列(如 ^[[C)
- css - CastError:值“cover.css”转换为 ObjectId 失败
- c# - 证书安装 (Linux)
- f# - 从 Visual Studio 中查找所有引用被 F# 成员破坏