У вас есть проблемы с переводом чисел в их эквивалентные знаки на разных языках? Не волнуйся! Этот пост поможет вам в переводе чисел.
Прежде чем я начну, давайте немного поговорим о числовом представлении чисел.
Наиболее распространенной системой символьного представления чисел являются арабские цифры (также называемые индуистскими арабскими цифрами) — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Большинство языков, включая английский, используют арабские цифры. В некоторых других языках арабские цифры встречаются чаще, чем родные наборы символов. Тем не менее, есть еще много языков, которые используют свои собственные наборы символов для представления чисел.
В качестве примера я расскажу, как преобразовать английские числа в непальский (деванагари) эквивалент и наоборот с использованием PHP. Кроме того, я покажу, как конвертировать, используя JavaScript.
Перевод чисел с использованием PHP
Мы можем легко преобразовать стандартные (английские) числа в эквивалентные наборы символов, используя простую операцию замены. Следующая функция PHP преобразует Стандартные числа в числа Деванагари Юникод. Вы можете получить числа на других языках, просто заменив массив.
<?php
/**
* @desc Converts Standard Number to Devanagari Unicode (nepali, hindi)
*
* @param integer $input
* @return string
*/
function convertToUnicodeNumber($input) {
$standard_numsets = array("0","1","2","3","4","5","6","7","8","9");
$devanagari_numsets = array("०","१","२","३","४","५","६","७","८","९");
return str_replace($standard_numsets, $devanagari_numsets, $input);
}
/* Usage */
echo convertToUnicodeNumber(1234); // Displays १२३४
?>
Точно так же мы можем преобразовать числа Unicode в стандартные английские числа, просто переключая параметры в вышеупомянутой функции str_replace . Вот фрагмент.
<?php
/**
* @desc Converts Unicode Number to Standard English Number
* @param string $input
* @return string
*/
function convertToStandardNumber($input) {
$standard_numsets = array("0","1","2","3","4","5","6","7","8","9");
$devanagari_numsets = array("०","१","२","३","४","५","६","७","८","९");
return str_replace($devanagari_numsets, $standard_numsets, $input);
}
/* Usage */
echo convertToStandardNumber('१२३४'); // Displays 1234
?>До сих пор я иллюстрировал, как выполнять простой перевод чисел с помощью PHP. Теперь давайте сделаем это с помощью JavaScript.
Перевод чисел с использованием JavaScript
В JavaScript мы можем конвертировать числовые символы, просто используя функцию замены . Следующий код иллюстрирует преобразование чисел с использованием JS.
<script type="text/javascript">
var englishDigits = {
'०': '0',
'१': '1',
'२': '2',
'३': '3',
'४': '4',
'५': '5',
'६': '6',
'७': '7',
'८': '8',
'९': '9'
};
var devanagariDigits = {
'0': '०',
'1': '१',
'2': '२',
'3': '३',
'4': '४',
'5': '५',
'6': '६',
'7': '७',
'8': '८',
'9': '९'
};
var amount = 9857;
/* Converting English number to Devangari (js) */
var amount_np = amount.toString().replace(/[0123456789]/g, function(s) {
return devanagariDigits[s];
});
console.log(amount_np); // Output: ९८५७
/* Converting Devanagari number to English (js) */
var amount_en = amount_np.replace(/[०१२३४५६७८९]/g, function(s) {
return englishDigits[s];
});
console.log(amount_en); // Output 9857
</script>
Таким образом, мы можем добиться преобразования чисел с помощью PHP и JavaScript.
Источник записи: https://thedebuggers.com