Странный результат при написании числа в текстовом поле - PullRequest
0 голосов
/ 14 марта 2012

Aarghhhhh !!!Я только что спросил, как вводить только цифры, и теперь у меня проблема в том, что когда я вставляю число с кодом, таким как:

tbNum.Text = Convert.ToString(double.Parse(tbPerc.Text));

Число это int вместо double.Поэтому я получаю что-то вроде 5623 вместо 562,3.Я установил InputScope на номер, если это поможет.Спасибо !!!

На самом деле у меня есть некоторые вычисления внутри метода Convert.ToString, но это не имеет значения, потому что возвращаемое значение вычисления между значениями типа double равно double.

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Если вы используете InputScope с установленным Number, то вы используете «.» в качестве десятичного разделителя, а не "," (это то, что появляется на клавиатуре)

Таким образом, я предполагаю, что ваше устройство / эмулятор Windows Phone принимает знак "," в качестве разделителя тысяч (по умолчанию для en-US, например) и как таковой:

double.Parse("562,3") == 5623
double.Parse("562.3") == 562.3
0 голосов
/ 14 марта 2012

Я не вижу причины преобразования строки в двойное в строку, но если вы вставите 562,3 вместо 562,3, ваш пример будет работать.

...