ورود

View Full Version : اعداد فارسي رو انگليسي نشون مي ده !!!



samane658
یک شنبه 01 دی 1387, 13:52 عصر
سلام
يه سايت upload كردم . وقتي رو local اجراش مي كنم اعدا فارسي رو درست نشون مي ده. ولي وقتي upload شد همون اعداد رو به صورت انگليسي نشون ميده.
مي خواستم بپرسم كه تنظيم خاصي وجود داره كه بايد تو كدم انجام بدم كه همه جا درست اجرا بشه ؟؟ or not ?
اگه نه بايد چي جوري اين مشكلو حل كنم ؟؟؟
با تشكر قبلي از جوابتون

raravaice
یک شنبه 01 دی 1387, 13:56 عصر
برای اعداد هم باید از Encode شده اونها به UTF8 استفاده کنید.
charmap بهترین راهنما برای شما هست.

موفق باشید

salehbagheri
دوشنبه 02 دی 1387, 11:48 صبح
برای اعداد هم باید از Encode شده اونها به UTF8 استفاده کنید.


دوست عزيز! ميشه بيشتر توضيح بدهيد!

raravaice
دوشنبه 02 دی 1387, 13:18 عصر
دوست عزيز! ميشه بيشتر توضيح بدهيد!اعداد فارسی هم همانند تمام حروف فارسی داری کد در UTF8 هستند.یعنی به صورت 2 بایتی ذخیره میشن.



1,2,3,4,5,6,7,8,9,0


۱,۲,۳,۴,۵,۶,۷,۸,۹,۰


١,٢,٣,٤,٥,٦,٧,٨,٩,٠
موفق باشید

samane658
سه شنبه 03 دی 1387, 09:39 صبح
سلام ممنون از جوابتون
منظورتون اينه كه به ازاي هر عدد تو برنامم بايد يه دستور بنويسم كه عدد انگليسي رو به فارسي تبديل كنه ؟ يا دستور خاصي وجود داره؟
بازم ممنون

samane658
سه شنبه 03 دی 1387, 11:50 صبح
لطفا جواب بديد ، لنگ اينم . مرسي

Behrouz_Rad
سه شنبه 03 دی 1387, 12:36 عصر
عدد واقعی پارسی رو با 1728 واحد اضافه کردن به کد اسکی اعداد مرسوم صفحه کلید می تونی ببینی.

موفق باشید.

babakj
سه شنبه 03 دی 1387, 23:05 عصر
این تابع رو خودم نوشتم از این استفاده کن




Public Shared Function NumberToPersian(ByVal Number As Decimal) As String
Dim nChar, nLen As Integer
Dim strFarsi As String

Dim strNumber As String = CStr(Number)
strFarsi = ""
nLen = strNumber.Length
If nLen = 0 Then
Return strNumber
End If

For inIdx As Integer = 0 To nLen - 1
nChar = AscW(strNumber(inIdx))
If nChar >= 48 AndAlso nChar <= 57 Then
nChar += 1728
End If
strFarsi += CChar(ChrW(nChar))
Next
Return strFarsi
End Function





نحوه استفادشم امیدوارم بلد باشی

فقط صداش کن



NumberToPersian(34.12)

Behrouz_Rad
چهارشنبه 04 دی 1387, 00:44 صبح
babakj@

میشه بسیار زیباتر و با قابلیت های قدرتمند دات نت، این تابع رو بهتر نوشت:


public string ConvertToPersianNumber(string num)
{
string number = num.Trim();

bool m = Array.TrueForAll<char>(number.ToCharArray(), s => char.IsDigit(s));
char[] temp = new char[number.Length];
if (m)
{
int i = 0;
Array.ForEach<char>(number.ToCharArray(), b =>
{
temp[i] = (char)(((int)b + 1728)); i += 1;
});

string ff = new string(temp);
return ff;
}
else
{
return null;
}
}


موفق باشید.

babakj
یک شنبه 08 دی 1387, 11:53 صبح
شاید بشه از Culture هم استفاده کرده یعنی تغییر native number ها و نمایش همه اعداد به صورت فارسی



Dim calture As New System.Globalization.CultureInfo("fa-IR")
Dim oNumberFormat As System.Globalization.NumberFormatInfo = calture.NumberFormat
oNumberFormat.NativeDigits = New String() {"۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹"}
calture.NumberFormat = oNumberFormat
System.Threading.Thread.CurrentThread.CurrentCultu re = calture
System.Threading.Thread.CurrentThread.CurrentUICul ture = calture

System.Globalization.CultureInfo.CurrentUICulture. NumberFormat = oNumberFormat
System.Globalization.CultureInfo.CurrentCulture.Nu mberFormat = oNumberFormat

اما جواب نداد !

به جای اینکه ما بیایم هر عدد رو فارسی کنیم سیستم نمایش اعداد رو فارسی کنیم
مثل حالتی که می ریم توی کنترل پنل language option

Behrouz_Rad
یک شنبه 08 دی 1387, 12:28 عصر
نه دوست من. کد اسکی باید تغییر کنه! و وقتی که کد اسکی تغییر کنه، اون عدد دیگه یک عدد واقعی نیست. یعنی نمیشه باهاش عملیات ریاضی انجام بدی! Culture نمیتونه کد اسکی رو تغییر بده.

موفق باشید.

babakj
یک شنبه 08 دی 1387, 15:05 عصر
حیف شد ولی اگه اینجوری می شد خیلی باحال می شد

iman_ad
دوشنبه 09 دی 1387, 08:38 صبح
می شه درباره <= در تا بع توضیح بدید آقای راد

Behrouz_Rad
دوشنبه 09 دی 1387, 08:55 صبح
می شه درباره <= در تا بع توضیح بدید آقای راد

نماد یک عبارت Lambda هست.

iman_ad
دوشنبه 09 دی 1387, 10:05 صبح
چه کاری انجام می ده چرا compiler C# بهش گیر می ده؟ (syntax error)

Behrouz_Rad
دوشنبه 09 دی 1387, 10:21 صبح
عبارات Lambda در C# 3.0 معرفی شدند. در VS 2008 بنویس.
عبارات Lambda، نوع ارتقا یافته ی Anonymous Methods هستند. یعنی پاس دادن بدنه ی متد به عنوان پارامتر ورودی.

موفق باشید.