
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.76] |
![]() |
|
Сообщ.
#1
,
|
|
|
Вопрос вообщем то касается и wm и winforms.
Решила написать одну програмку под Windows Mobile 6, но сталкнулася с проблемой. В программе нужно перевести double в String. к примеру даже если сделать так: на форме у нас 3 лэйблы: label1.text="1,23"; label2.text="1,34"; label3.text="0" и кнопочка button1. ![]() ![]() private void button1_Click(object sender, EventArgs e) { double Peremenaia = Convert.ToDouble(label1.Text) + Convert.ToDouble(label2.Text); label3.Text = Convert.ToString(Peremenaia); } Результат нажатия кнопки button1: ![]() Результат сложения 1,23 + 1,34 = 257. запятая теряется. Хотя делаю тоже самое создав WinForms проект: ![]() ![]() private void button1_Click(object sender, EventArgs e) { double Peremenaia = Convert.ToDouble(label1.Text) + Convert.ToDouble(label2.Text); label3.Text = Convert.ToString(Peremenaia); } Результат нажатия кнопки button1: ![]() Результат сложения 1,23 + 1,34 = 2,57. запятая не теряется. подскажите как можно решить эту проблему в wm6. Идея только приходит написать процедуру которая бы считала целую часть и дробную отдельно и потом склеивала, может кто знает решение получше? |
Сообщ.
#2
,
|
|
|
Видимо, в WM6 у вас стоит нерусская локаль, считающая, что разделитель дробной части - точка.
|
Сообщ.
#3
,
|
|
|
попробуй так:
![]() ![]() private void button1_Click(object sender, EventArgs e) { System.Globalization.NumberFormatInfo info = new System.Globalization.NumberFormatInfo(); info.NumberDecimalSeparator = ","; double Peremenaia = Convert.ToDouble(label1.Text.Replace('.', ','), info) + Convert.ToDouble(label2.Text.Replace('.', ','), info); label3.Text = Convert.ToString(Peremenaia); } |
Сообщ.
#4
,
|
|
|
![]() ![]() System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CurrentCulture; string delimeter = culture.NumberFormat.NumberDecimalSeparator; label1.Text = label1.Text.Replace(",", delimeter).Replace(".", delimeter); Тупо, но работает. |
Сообщ.
#5
,
|
|
|
Спасибо Большое!
![]() |