سلام
متنی دارم که شامل دو بخش عدد هست که با کاما از هم جدا می شوند. می خوام اعداد بخش اول فارسی و اعداد بخش دوم انگلیسی نشون داده بشه و به همون صورت در دیتابیس ذخیره بشه.مثلا 33،45 که 45 انگلیسی و 33 فارسی باید باشه!
سلام
متنی دارم که شامل دو بخش عدد هست که با کاما از هم جدا می شوند. می خوام اعداد بخش اول فارسی و اعداد بخش دوم انگلیسی نشون داده بشه و به همون صورت در دیتابیس ذخیره بشه.مثلا 33،45 که 45 انگلیسی و 33 فارسی باید باشه!
فکرنکنم همچین کاری بشه کرد چون نوع فونتی که انتخاب می کنی مشخص می کنه که طرز نوشتن اعداد به چه شکله و نمیشه دو تا فونت برا یه تکست گذاشت
تا جایی که من میدونم فارسی و انگلیسی بودن اعداد مربوط به Regional and language option ویندوز میشه یا شما خودت توی برنامه culture رو روی چیز خاصی تنظیم کنی
در مورد ذخیره در دیتابیس به صورت فارسی و انگلیسی خب میشه تنظیم کنی که یکی Unicode یا ,UTF-8 ذخیره بشه و اونی که انگلیسیه از نوع Ascii
وقتی قابلیتی مثل context در word وجود داره که بسته به جهت نوشتن اعداد روی فارسی یا انگلیسی می کنه پیاده کردنش در نرم افزار های دیگه هم ممکنه ! ولی اینکه چگونه میشه چنین قابلیتی رو در یک textbox نشون داد از دانش من خارجه !
private void Form1_Load(object sender, EventArgs e)
{
float n = 12.34F;
float m = 56.78F;
textBox1.Text = FloatToString(m, true) + " , " + FloatToString(n, false);
}
private string FloatToString(float value, bool persian)
{
string text = value.ToString();
char baseChar = ((int)0).ToString()[0];
char zeroChar = (persian) ? '\u06F0' : '\u0030';
StringBuilder newText = new StringBuilder();
foreach (char ch in text)
if ((ch >= baseChar) && (ch <= baseChar + 9))
newText.Append((char)(zeroChar + ch - baseChar));
else
newText.Append(ch);
return newText.ToString();
}