به طور کل گاهی اوقات پیش میآید که بخواهید اعداد و ارقام را از زبانی به زبان دیگر تبدیل کنید. در این مقاله قصد داریم نحوه تبدیل اعداد فارسی و عربی به انگلیسی و برعکس را در زبانهای برنامهنویسی مختلف به شما آموزش دهیم.
آنچه در این مقاله میخوانید
تبدیل اعداد فارسی و عربی به انگلیسی در PHP
اگر میخواهید در زبان برنامهنویسی PHP اعداد مختلف (فارسی و عربی) را به انگلیسی تبدیل کنید، کافی است از تابع زیر استفاده کنید.
/**
* @snippet Convert Persian/Arabic Numbers To English Numbers
* @source Stack Overflow
*/
function tidaweb_convert_numbers( $string )
{
$new_numbers = range(0, 9);
// ۱. Persian HTML decimal
$persian_decimal = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
// ۲. Arabic HTML decimal
$arabic_decimal = array('٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩');
// ۳. Arabic Numeric
$arabic = array('٠', '١', '٢', '٣', '۴', '۵', '۶', '٧', '٨', '٩');
// ۴. Persian Numeric
$persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$string = str_replace($persian_decimal, $new_numbers, $string);
$string = str_replace($arabic_decimal, $new_numbers, $string);
$string = str_replace($arabic, $new_numbers, $string);
return str_replace($persian, $new_numbers, $string);
}
تبدیل اعداد انگلیسی به فارسی در PHP
در صورتی که میخواهید اعداد انگلیسی را به فارسی تبدیل کنید، تابع زیر این کار را برای شما انجام خواهد داد.
/**
* @snippet Convert English Numbers to Persian Numbers
* @author Rasool Vahdati
* @source Tidaweb
*/
function tidaweb_convert_english_to_persian_numbers( $string )
{
$old_numbers = range(0, 9);
$new_numbers = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
return str_replace($old_numbers, $new_numbers, $string);
}
در صورتی که میخواهید اعداد انگلیسی را به عربی تبدیل کنید، کافی است متغیر new_numbers را به مقدار زیر تغییر دهید.
$new_numbers = array('٠', '١', '٢', '٣', '۴', '۵', '۶', '٧', '٨', '٩');
تبدیل اعداد انگلیسی به فارسی یا عربی در وردپرس
مهمترین محتواهایی که در وردپرس نیاز به تبدیل اعداد دارند، محتوای نوشتهها یا برگهها میباشد. شما با استفاده از هوک زیر میتوانید به راحتی اعداد انگلیسی موجود در سایت وردپرسی خود را فارسیسازی کنید.
/**
* @snippet Convert English Numbers to Persian Numbers in WordPress
* @author Rasool Vahdati
* @source Tidaweb
*/
add_filter('the_content', 'tidaweb_convert_numbers_in_wp');
add_filter('the_excerpt', 'tidaweb_convert_numbers_in_wp');
function tidaweb_convert_numbers_in_wp( $text )
{
$old_numbers = range(0, 9);
$new_numbers = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
$text = str_replace($old_numbers, $new_numbers, $text);
return $text;
}
تبدیل ارقام عربی و فارسی به انگلیسی در جاوا اسکریپت
روشهای مختلفی برای تبدیل ارقام عربی و فارسی به انگلیسی در جاوا اسکریپت و جی کوئری وجود دارند که به چند نمونه از آنها در زیر اشاره میکنیم. شما با استفاده از قطعه کد زیر میتوانید ارقام را به راحتی به انگلیسی تبدیل کنید.
/**
* @snippet Convert Persian/Arabic Numbers to English Numbers in JavaScript
* @author Mohamed Riyad
* @source Github
*/
function conv2EnNum(str){
return parseFloat(str
.replace(/[٠١٢٣۴۵۶٧٨٩]/g, function (d) { return d.charCodeAt(0) - 1632; }) // Convert Arabic numbers
.replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function (d) { return d.charCodeAt(0) - 1776; }) // Convert Persian numbers
)*۱;
}
// Examples:
alert(conv2EnNum('٠١٢٣۴۵۶٧٨٩')); // -> 01213456789
alert(conv2EnNum('١٣.۵')); // -> 13.5
alert(conv2EnNum('۴۷۶')); // -> 476
در صورتی که میخواهید به صورت Prototype تبدیل اعداد و ارقام را انجام دهید، باید توابع زیر را تعریف و سپس فراخوانی کنید.
/*
* English digit to persian
* Copyright(C) 2009 by Amin Akbari [ http://eAmin.me/ ]
* Licensed under the MIT Style License [http://www.opensource.org/licenses/mit-license.php]
*
*/
String.prototype.toFaDigit = function() {
return this.replace(/\d+/g, function(digit) {
var ret = '';
for (var i = 0, len = digit.length; i < len; i++) {
ret += String.fromCharCode(digit.charCodeAt(i) + 1728);
}
return ret;
});
};
/*
* Persian digit to English
* Copyright(C) 2009 by Amin Akbari [ http://eAmin.me/ ]
* Licensed under the MIT Style License [http://www.opensource.org/licenses/mit-license.php]
*
*/
String.prototype.toEnDigit = function() {
return this.replace(/[\u06F0-\u06F9]+/g, function(digit) {
var ret = '';
for (var i = 0, len = digit.length; i < len; i++) {
ret += String.fromCharCode(digit.charCodeAt(i) - 1728);
}
return ret;
});
};
"۰۱۲۳۴۵srh6srh789".toFaDigit(); // ۰۱۲۳۴۵srh۶srh۷۸۹
"۰۱۲۳۴۵srh۶srh۷۸۹".toEnDigit(); // 012345srh6srh789
تبدیل اعداد به یکدیگر و برعکس در پایتون
زبان برنامهنویسی پایتون کتابخانهای به نام convert_numbers دارد که از آن میتوان برای تبدیل اعداد عربی، فارسی، هندی و انگلیسی به یکدیگر استفاده کرد. به منظور نصب آن کافی است در محیط پایتون ابتدا دستور زیر را تایپ کنید تا کتابخانه به طور کامل نصب شود.
pip install convert_numbers
پس از آنکه کتابخانه به طور کامل نصب شد، میتوانید تابع مورد نظر از این کتابخانه را برای تبدیل اعداد فراخوانی کنید. در زیر نمونههای تبدیل ارقام آورده شده است.
import convert_numbers
# From Hindi To Englis
print(convert_numbers.hindi_to_english('٨٧۶۵۴٣٢٣۴۵۶٧٨')) #۸۷۶۵۴۳۲۳۴۵۶۷۸
# From Englis To Hindi
print(convert_numbers.english_to_hindi('12309876523')) ##١٢٣٠٩٨٧۶۵٢٣
# From Hindi To Arabic
print(convert_numbers.hindi_to_arabic('٨٧۶۵۴٣٢٣۴۵۶٧٨')) #۸۷۶۵۴۳۲۳۴۵۶۷۸
# From Arabic To Hindi
print(convert_numbers.arabic_to_hindi('12309876523')) #١٢٣٠٩٨٧۶۵٢٣
# From Arabic To English
print(convert_numbers.arabic_to_english('٢٣۴۵۶٧٨٠٩٨٧۶')) #۲۳۴۵۶۷۸۰۹۸۷۶
# From English To Arabic
print(convert_numbers.english_to_arabic('09876523456')) #٠٩٨٧۶۵٢٣۴۵۶
# From Persian To English
print(convert_numbers.persian_to_english('۵۱۲۳۹۶۰۴۴')) #۵۱۲۳۹۶۰۴۴
# From English To Persian
print(convert_numbers.english_to_persian('512396044')) #۵۱۲۳۹۶۰۴۴
# From Persian To Hindi
print(convert_numbers.persian_to_hindi('۵۱۲۳۹۶۰۴۴')) #۵١٢٣٩۶٠۴۴
# From Hindi To Persian
print(convert_numbers.hindi_to_persian('٢٣۴۵۶٧٨٠٩٨٧۶')) #۲۳۴۵۶۷۸۰۹۸۷۶
ابزار آنلاین تبدیل ارقام فارسی، عربی و انگلیسی به یکدیگر
اگر نیاز دارید تا به صورت موقت تبدیل ارقام را انجام دهید، کافی است از سایت Saitak استفاده کنید. با استفاده از این سایت میتوانید ارقام فارسی یا عربی را به انگلیسی و بالعکس تبدیل کنید.
در این نوشته نحوه تبدیل ارقام عربی یا فارسی به انگلیسی را یاد گرفتیم. در صورتی که نظر یا سؤالی دارید میتوانید آن را از طریق دیدگاهها با ما در میان بگذارید.
جالب و کاربردی بود.
جالب بود.
این کدها در واقع میشه گفت بیشتر برای کدنویسی برنامهها و اپهای فارسی کاربرد داره که ممکنه کاربر صفحه کلیدش فارسی باشه و به اشتباه فیلد رو پر کنه .
قطعاً همینطوره .
کاربران با تبدیل توابع بالا به زبان برنامهنویسی که کدنویسی میکنن به راحتی میتونن توی اپهاشون ارقام رو بهم تبدیل کنن.
محتوای جالب و کاربردی بود.
مقاله عالی و خوبی بود.
مقاله جذابی بود.
ممنون از شما . کد کاربردی بود.