1
votes

Convertir un nombre angulaire en persan

Je veux convertir des nombres anglais en nombre persan en 4 angulaire:

persianNumbers = ["Û°", "Û±", "Û²", "Û³", "Û´", "Ûµ", "Û¶", "Û·", "Û¸", "Û¹"];
englishNumbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
price="1000$";
price= this.fixnumber(price,this.persianNumbers,this.englishNumbers);


fixnumber(src,persian,english){
   for(var i=0; i<10; i++)
      {
        var str = /english[i]/gi;
        src = src.replace(str, persian[i]);
      }
    return src;
}

Cela ne fonctionne pas.


0 commentaires

3 Réponses :


3
votes

Vous devriez essayer:

let enNumber = "50000$";
let faNumber = parseInt(enNumber.split('$')[0], 10).toLocaleString('fa-IR') + '$'; //ÛµÛ°Ù¬Û°Û°Û°$
console.log(faNumber);

persianNumbers[i] = englishNumbers[i].toLocaleString('fa')


3 commentaires

non ce n'est pas ce que je veux !!!! Je veux afficher les numéros au format persan donc: Prix: 1000 $ à ۱۰۰۰ $


@esnkrimi il sépare même les nombres en 3 chiffres.


Sachez que toLocaleString () ne fonctionne pas dans Chrome Android.



0
votes

Utilisez la carte


map.get("1");

À utiliser:

let persianNumbersMap = new Map<string, string>();
map.set("0", "Û°"); 
map.set("1", "Û±");
map.set("2", "Û²");
map.set("3", "Û³");
map.set("4", "Û³");
map.set("5", "Ûµ");
map.set("6", "Û¶");
map.set("7", "Û·");
map.set("8", "Û¸");
map.set("9", "Û¹");


1 commentaires

non ce n'est pas ce que je veux !!!! Je veux afficher les numéros au format persan donc: Prix: 1000 $ à ۱۰۰۰ $



1
votes

Vous pouvez utiliser cette fonction:

function ConvertToPr(str) {
    return str.replace(/0/g,'Ù ').replace(/1/g,'Ù¡').replace(/2/g,'Ù¢').replace(/3/g,'Ù£').replace(/4/g,'Ù¤')
        .replace(/5/g,'Ù¥').replace(/6/g,'Ù¦').replace(/7/g,'Ù§').replace(/8/g,'Ù¨').replace(/9/g,'Ù©')
        .replace(/Û°/g,'Ù ').replace(/Û±/g,'Ù¡').replace(/Û²/g,'Ù¢').replace(/Û³/g,'Ù£').replace(/Û´/g,'Ù¤')
        .replace(/Ûµ/g,'Ù¥').replace(/Û¶/g,'Ù¦').replace(/Û·/g,'Ù§').replace(/Û¸/g,'Ù¨').replace(/Û¹/g,'Ù©');
}

console.log(ConvertToPr("1000$")) //print ١٠٠٠$


0 commentaires