代码之家  ›  专栏  ›  技术社区  ›  alim1990

角度8如何将阿拉伯字符数作为实数读取,以便使用ToLocaleString()将其转换为特定格式

  •  0
  • alim1990  · 技术社区  · 5 年前

    我需要把英语数字(1234567890)转换成阿拉伯语:

     arabicNumbers = ['Û°', 'Ù¡', 'Ù¢', 'Ù£', 'Ù¤', 'Ù¥', 'Ù¦', 'Ù§', 'Ù¨', 'Ù©'];
    

    我用以下方法成功地做到了:

      let chars = value.toString(10).split('');
      //console.log(chars)
      for(let i=0; i<chars.length; i++)
      {
        chars[i]=arabicNumbers[chars[i]]
      }
      value = chars.join('');
    

    最终值的格式应与英文数字相同。例如,如果我在使用后的价值为89000000美元 toLocaleString('en-GB') 它将是:

    8900万

    但在阿拉伯语中,它仍然存在:

    _ _ _ _ _ _

    我需要的是:

    _,______

    我试过了 charCodeAt() 但它把它改成英文字符

    1 回复  |  直到 5 年前
        1
  •  1
  •   Lia    5 年前

    无需将字符转换为阿拉伯数字,只需使用:

    let enNumber = 89000000;
    console.log(enNumber.toLocaleString('fa-IR')); // Û¸Û¹Ù¬Û°Û°Û°Ù¬Û°Û°Û°
    
    推荐文章