Saya biasa mengonversi angka Arab ke angka Latin dengan melakukan hal berikut:
moment.updateLocale('ar', <MomentLanguage>{
preparse: (str) => {
return str.replace(/\u200f/g, '');
},
postformat: (str) => {
return str;
}
});
tapi sekarang, MomentLanguage bukan modul di momen, apa yang harus saya lakukan?
PS: Saya menggunakan versi 2.15.2
Kode Anda ditulis dengan TypeScript, bukan? Saya pikir antarmuka yang Anda gunakan disebut Locale
sekarang.
Penutupan karena kami belum mendengar kabar sejak komentar Lucas. Buka kembali jika Anda masih membutuhkan bantuan.
@IbraheemAlSaady ini harus bekerja
const symbolMap = {
'1': '1',
'2': '2',
'3': '3',
'4': '4',
'5': '5',
'6': '6',
'7': '7',
'8': '8',
'9': '9',
'0': '0'
};
const numberMap = {
'١': '1',
'٢': '2',
'٣': '3',
'٤': '4',
'٥': '5',
'٦': '6',
'٧': '7',
'٨': '8',
'٩': '9',
'٠': '0'
}
moment.updateLocale('ar', {
preparse: function (string) {
return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
return numberMap[match];
}).replace(/،/g, ',');
},
postformat: function(string) {
return string.replace(/\d/g, function(match) {
return symbolMap[match];
}).replace(/,/g, '،');
},
});
Komentar yang paling membantu
@IbraheemAlSaady ini harus bekerja