Skip to content

Instantly share code, notes, and snippets.

@rajuAhmed1705
Created October 23, 2022 09:40
Show Gist options
  • Select an option

  • Save rajuAhmed1705/817953de85f2ad7596b41aff7317c4f7 to your computer and use it in GitHub Desktop.

Select an option

Save rajuAhmed1705/817953de85f2ad7596b41aff7317c4f7 to your computer and use it in GitHub Desktop.
Bangla to English and English to Bangla number translator
const numberTranslate = (
n: string | number,
translateTo: "Ban" | "Eng",
returnType: "string" | "number" = "string"
): string | number => {
const mapNumber = {
"০": 0,
"১": 1,
"২": 2,
"৩": 3,
"৪": 4,
"৫": 5,
"৬": 6,
"৭": 7,
"৮": 8,
"৯": 9,
};
if (typeof n === "number") {
n = n.toString();
}
var translatedNumber = "";
for (var i = 0; i < n.length; i++) {
if (translateTo == "Eng") {
if (mapNumber.hasOwnProperty(n.charAt(i))) {
//@ts-ignore
translatedNumber += mapNumber[n.charAt(i)];
} else {
translatedNumber += n.charAt(i);
}
}
if (translateTo == "Ban") {
if (Object.values(mapNumber).includes(parseInt(n.charAt(i)))) {
translatedNumber += Object.keys(mapNumber).find(
//@ts-ignore
(k) => mapNumber[k] == n.charAt(i)
);
} else {
translatedNumber += n.charAt(i);
}
}
}
if (returnType == "number" && translateTo == 'Eng') {
if (translatedNumber.includes(".")) return parseFloat(translatedNumber);
return parseInt(translatedNumber);
}
return translatedNumber;
};
console.log(numberTranslate("১২3.৩", "Eng", "number"));
console.log(numberTranslate("১২৩৪.৩", "Eng", "string"));
console.log(numberTranslate("1223৮.5", "Ban", "string"));
console.log(numberTranslate("০০৩৪", "Eng", "string"));
console.log(numberTranslate("০০৩৪", "Eng", "number"));
console.log(numberTranslate("০০৩৪", "Ban", "number"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment