Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Wm6 vs Winforms: String to Double


Автор: arsenium 19.11.2009, 13:18
Здравствуйте! не нашел на форуме раздел про Windows Mobile и решил написать сюда.
Вопрос вообщем то касается и 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:
http://radikal.ru/F/i017.radikal.ru/0911/2c/1412fe9622ad.jpg.html

Результат сложения 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:
http://radikal.ru/F/i066.radikal.ru/0911/71/8e45e4ade91b.png.html

Результат сложения 1,23 + 1,34 = 2,57. запятая не теряется.

Почему так происходит? неучли этого в wm6 ? подскажите как можно решить эту проблему.
Идея только приходит написать процедуру которая бы считала целую часть и дробную отдельно и потом склеивала, может кто знает решение получше?


Автор: KelTron 19.11.2009, 13:48
Какое значение принимает переменная Peremenaia?
Если неправильное, то наверно дело в конвертации, а точнее настройках культуры, попробуй ставить точки вместо запятых.
Если правильное, то, очевидно, дело в преобразовании в строку.

Автор: arsenium 19.11.2009, 14:07
странно) в winforms работает с запятой.

в wm6 Peremenaia принимает значение 257.
Заменил вместо запятой точку и сработало.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)