用Dart中的波斯语数字转换英语数字

用Dart中的波斯语数字转换英语数字,dart,flutter,Dart,Flutter,我是新来的Dart和flatter 我想用波斯语数字代替英语数字。 如何实现这一点 1-2-3-4-5-6-7-8-9 ==> ‍‍۱-۲-۳-۴-۵-۶-۷-۸-۹ 例如: String replaceSinumber(字符串输入){ const english=['0','1','2','3','4','5','6','7','8','9']; const farsi=[“۰”、“۱”、“۳”、“۴”、“۵”、“۶”、“۷”、“۸”、“۹”]; for(int i=0;i } 不确定

我是新来的
Dart
flatter

我想用波斯语数字代替英语数字。 如何实现这一点

1-2-3-4-5-6-7-8-9 ==> ‍‍۱-۲-۳-۴-۵-۶-۷-۸-۹
例如:

String replaceSinumber(字符串输入){
const english=['0','1','2','3','4','5','6','7','8','9'];
const farsi=[“۰”、“۱”、“۳”、“۴”、“۵”、“۶”、“۷”、“۸”、“۹”];
for(int i=0;i
}

不确定在什么环境下使用这些数字,但我更愿意定义一个常量映射:
const numberMap={0:'۰'、1:'۱'、2:'۲'、3:'۳'、4:'٤'、5:'۵'、6:'٦'、7:'۷'、8:'۸'、9:'۹'
然后您可以调用
numberMap[number]
以重用它。

静态字符串convertDigitTolatin(字符串s){
static String ConvertDigitsToLatin(String s) {
var sb = new StringBuffer();
for (int i = 0; i < s.length; i++) {
  switch (s[i]) {
    //Persian digits
    case '\u06f0':
      sb.write('0');
      break;
    case '\u06f1':
      sb.write('1');
      break;
    case '\u06f2':
      sb.write('2');
      break;
    case '\u06f3':
      sb.write('3');
      break;
    case '\u06f4':
      sb.write('4');
      break;
    case '\u06f5':
      sb.write('5');
      break;
    case '\u06f6':
      sb.write('6');
      break;
    case '\u06f7':
      sb.write('7');
      break;
    case '\u06f8':
      sb.write('8');
      break;
    case '\u06f9':
      sb.write('9');
      break;

    //Arabic digits
    case '\u0660':
      sb.write('0');
      break;
    case '\u0661':
      sb.write('1');
      break;
    case '\u0662':
      sb.write('2');
      break;
    case '\u0663':
      sb.write('3');
      break;
    case '\u0664':
      sb.write('4');
      break;
    case '\u0665':
      sb.write('5');
      break;
    case '\u0666':
      sb.write('6');
      break;
    case '\u0667':
      sb.write('7');
      break;
    case '\u0668':
      sb.write('8');
      break;
    case '\u0669':
      sb.write('9');
      break;
    default:
      sb.write(s[i]);
      break;
  }
}
return sb.toString();
}
var sb=新的StringBuffer(); 对于(int i=0;i
我认为
Map
必须用
{}
来定义,而不是
[]
啊,对不起,我的错。编辑,和我一起工作!