ورود

نسخه کامل مشاهده نسخه کامل : تبدیل اعداد انگلیسی به فارسی



mohrd
07-05-2010, 23:42
سلام.
یک کد ( ترجیحا جاوا اسکریپت ) می خواستم که با گذاشتن اون توی صفحه همه ی اعداد انگلیسی به فارسی تبدیل بشن. مثلا 2 بشه ۲.
خیلی ممنون ...

tazphoenix
15-05-2010, 20:29
عدد های فارسی عدد نیستن در واقع کد ها ی یونیکد هستند (یعنی جزو علامت های خاص به شمار میان مث © یا §).پس باید یا با php و و..یه converter بنویسی یا از یه جا کپی پیست کنی.

mq1372
15-05-2010, 21:07
سلام این ها کد های مربوط به اعداد فارسی از یک تا 9 هستن:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

شما میتونید با جاوا اسکریپت یا پی اچ پی جایگزین کنید که با پی اچ پی خیلی بهتره.

این هم کد جاوا اسکریپتی که خودم نوشتم. البته من زیاد از جاوا اسکریپت سرم نمیشه:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

tazphoenix
16-05-2010, 12:14
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

eAmin
18-05-2010, 15:56
سلام

این هم کدی که قبلن نوشته بودم.
or:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

tazphoenix
20-05-2010, 19:49
به کتابخانه ی prototype نیاز نداره؟:13:

neopersia
21-05-2010, 11:32
به کتابخانه ی prototype نیاز نداره؟:13:
نه این prototype اون prototype نیست
امین جان لازم باشه خودش بیشتر توضیح میده

id1385
18-07-2012, 20:31
سلام
دوستان یک مورد برای جاوا اسکریپت نوشتم که میزارم شاید بدردتون بخوره!
توی این اسکریپت دو فانکشن نوشاتم که یکی برای تبدیل اعداد به فارسی هست و دیگری برای جدا کردن اعداد بصورت سه تایی است که درمورد پول بکار میرود.

شکل خروجی :



1
2
3
4

Farsi Numbers = ۱۲۳۴۵۶۷۸۹۰
Splited Numbers1 = 1/234/567/890
Splited Numbers2 = ۱/۲۳۴/۵۶۷/۸۹









فانکشن تبدیل اعداد به فارسی :



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

function Number2Farsi(Numbers){ // Output = (1234567890 => ۱۲۳۴۵۶۷۸۹۰)
/*
Please Dont Remove No Line : Coded By Ata Amini(id1385)
SAMPLE 1 = Number2Farsi('1234567890');
SAMPLE 2 = Number2Farsi('Ata Amini: 09123532116');
SAMPLE 3 = var MyNumbers = '1234567890'; Number2Farsi(MyNumbers);
*///Defintion(s)
var NumbersLen = Numbers.length;
var CurentDigit = ''; // store current digit in for lap
var FinalDigits = ''; // store converted digit in for lap
var num0 = "۰";
var num1 = "۱";
var num2 = "۲";
var num3 = "۳";
var num4 = "۴";
var num5 = "۵";
var num6 = "۶";
var num7 = "۷";
var num8 = "۸";
var num9 = "۹";
if (NumbersLen <= 0 ){
return num0;}//if
else if (NumbersLen > 0 ){
for (var i=0 ; i <= NumbersLen-1 ; i++){
CurentDigit = Numbers.substring(i,i+1);
FinalDigits += ConvertNum(CurentDigit);
}//for
}//else
function ConvertNum(Num){
switch (Num) {
case '0': return num0; break;
case '1': return num1; break;
case '2': return num2; break;
case '3': return num3; break;
case '4': return num4; break;
case '5': return num5; break;
case '6': return num6; break;
case '7': return num7; break;
case '8': return num8; break;
case '9': return num9; break;
default: return Num; // End
}//switch
}//ConvertNum
return FinalDigits; // Final Return
}//Number2Farsi








فانکشن جداکردن اعداد:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

function SplitDigit(Digit,Splictor){
/*
Please Dont Remove No Line : Coded By Ata Amini(id1385)
Not Allwed In Splictor "\"
SAMPLE = SplitDigit('1200000',',');
SAMPLE = Number2Farsi(SplitDigit('1200000','.'));
*///DEFINTION(S)
var DigitsLen = Digit.length;
var CurrentDigit = '';
var FinalDigit = '';
var DefaultSplictor = '';
var DigitArray = new Array();
var DigitREV = new Array();
var N = 0;
// SPLICTOR STATE
if (Splictor == "") { DefaultSplictor = ','} else { DefaultSplictor = Splictor; }
// SUBSTRING
for (var i=0 ; i <= DigitsLen-1 ; i++){
CurrentDigit = Digit.substring(i,i+1); //SUBSTRING DIGITS
DigitArray += CurrentDigit; // SETTING IN ARRAY
}// FOR
// REV
for (var i=0 ; i <= DigitArray.length -1 ; i++){
var K = (DigitArray.length - 1) - i ;
N++;
if (N == 1 || N == 2 || N == 3){
DigitREV += DigitArray[K];} else if (
N >= 3) {
N = 1; DigitREV += DefaultSplictor + DigitArray[K];
}
}// FOR
// Final
for (var i=0 ; i <= DigitREV.length-1 ; i++){
var L = (DigitREV.length - 1) - i ;
FinalDigit += DigitREV [L];
}// FOR

return FinalDigit; // Output
}








در آخر هم براتون اتچ میکنم.


موفق باشین. :8: