PDA

View Full Version : سوال: Decimal symbol | get decimal symbol windows به دست آوردن با سی شارپ



moslem_f
چهارشنبه 23 مرداد 1392, 16:39 عصر
سلام عرض ادب و خسته نباشید عید گذشته تبریک میرم سر اصلا مطلب زیاد هم سرچ کردم ولی به نتیجه درستی نرسیدم ؛

توسط سی شارپ می خوام برنامه ای بنویسم چه توسط API یا هر چیزی که بتونه Decimal symbol ویندوز رو تشخیص بده و نتیجه رو به من بگه که مثلا Decimal symbol ویندوز من . هست یا / مثلا اگر . باشه خوب اعداد اعشاری این طوری نوشته میشن تو ویندوز 12.5 ولی اگر پیشفرض Decimal symbol / باشه خب اعداد اعشاری در ویندوز این طوری نوشته میشه 12/5 حالا می خوام از طریق API یا هر چیزی متوجه بشم که symbol اعداد اعشاری من چی هست و بعد از این خودم به . تبدیل کنم یا اگر . بود به / تبدیلش کنم ممنون میشم بیشتر راهنمایی کنید در ضمن یک تصویر گذاشتم تا دقیق تر بگم منظورم از Decimal symbol چیه در ضمن سیستم عامل من Microsoft Windows 8 هست با تشکر.
ارادتمند : مسلم فلاح نیت
109070

مهرداد صفا
چهارشنبه 23 مرداد 1392, 17:44 عصر
با سلام.

MessageBox.Show(System.Globalization.CultureInfo.C urrentUICulture.NumberFormat.NumberDecimalSeparato r);

moslem_f
چهارشنبه 23 مرداد 1392, 17:52 عصر
ببشخید من این کد رو در خاصیت لود فرمم قرار دادم ولی با خطا مواجه میشم چه طوری میتونم ازش استفاده کنم با تشکر.

moslem_f
چهارشنبه 23 مرداد 1392, 17:54 عصر
Error 1 ) expected C:\Users\MDeveloperPro\Desktop\Project\Calculator\ Calculator\Calculator\Form1.cs 27 65 Calculator
Error 3 ; expected C:\Users\MDeveloperPro\Desktop\Project\Calculator\ Calculator\Calculator\Form1.cs 27 118 Calculator
Error 2 Invalid expression term ')' C:\Users\MDeveloperPro\Desktop\Project\Calculator\ Calculator\Calculator\Form1.cs 27 118 Calculator

مهرداد صفا
چهارشنبه 23 مرداد 1392, 18:00 عصر
کد نیاز به ویرایش های جزئی داشت.


MessageBox.Show(
System.Globalization.CultureInfo.CurrentUICulture. NumberFormat.NumberDecimalSeparator
);

moslem_f
چهارشنبه 23 مرداد 1392, 18:29 عصر
ببخشید من الان مجدد خودم Decimal symbol رو عوض کردم از قسمت Region داخل کنترل پنل و به / تغییر دادم ولی بعد از ران کردن برنامه برنامه مجدد . رو نمایش داد برای Decimal symbol خطایی وجود داره یا باید سیستم رو ریسارتی چیزی کرد در ضمن اگر شما در مورد این مطلب در گوگل یا جایی سرچ کردین ممنون میشم منبع رو هم به من بگید تا خودم بتونم بگردم مزاحم شما هم نباشم با تشکر.

مهرداد صفا
چهارشنبه 23 مرداد 1392, 19:11 عصر
اگر شما در مورد این مطلب در گوگل یا جایی سرچ کردین ممنون میشم منبع رو هم به من بگید تا خودم بتونم بگردم مزاحم شما هم نباشم با تشکر.

خواهش می کنم آقا مسلم.
لینکهای زیر:
http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecima lseparator.aspx
http://stackoverflow.com/questions/14513468/detect-decimal-separator
http://stackoverflow.com/questions/3870154/c-sharp-decimal-separator

moslem_f
دوشنبه 28 مرداد 1392, 23:06 عصر
خواهش می کنم آقا مسلم.
لینکهای زیر:
http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecima lseparator.aspx
http://stackoverflow.com/questions/14513468/detect-decimal-separator
http://stackoverflow.com/questions/3870154/c-sharp-decimal-separator


سلام خسته نباشید نمیدونم این جواب منو می خونید یا نه اما جای تشکر داره از شما تشکر کنم ولی همون طوری که بهتون گفتم با این روش به مشکل بر خوردم و زمانی که Decima Symbol رو تغییر میدادم برنامه تشخیص نمیداد و صرفا فقط می گفت . هست با روشی که در لینک های بالا هست حالا من با روشی دیگر و قرار دادن کدی که در زیر قرار میدم در Event فرم لود و دکمه مورد نظرم کاری که خواستم رو انجام دادم بدون مشکل ولی اگر مشکلی در کد دیدین ممنون میشم بگید در هر صورت با تشکر
ارادتمند : مسلم فلاح نیت




private void Form1_Load(object sender, EventArgs e)
{
double numOne = 3.5;
string x = Convert.ToString(numOne);
string op;
if (x == "3.5")
{
op = x.Replace("3.5", ".");
MessageBox.Show(op);
button14.Text = ".";
}
else
{
op = "/";
MessageBox.Show(op);
button14.Text = ".";
}

}
private void button14_Click(object sender, EventArgs e)
{
double numOne = 3.5;
string x = Convert.ToString(numOne);
string op;
if (x == "3.5")
{
op = x.Replace("3.5", ".");
button14.Text = ".";
textBox1.Text += op;
}
else
{
op = "/";
button14.Text = ".";
textBox1.Text += op;
}
}