Лучший отвечающий
Замена точки запятой в WP8

Вопрос
-
Надо сделать замену точки на запятую .
Double ax = Convert.ToInt32(a.Text); Double bx = Convert.ToInt32(b.Text); Double cx = Convert.ToDouble(c.Text);
Реплейс не помог
c.Replace(".", ",");
11 сентября 2013 г. 5:29
Ответы
-
Double c_num = Convert.ToDouble(c.Text, System.Globalization.CultureInfo.InvariantCulture)
- Помечено в качестве ответа Panda_Gun 11 сентября 2013 г. 12:22
11 сентября 2013 г. 12:13
Все ответы
-
var clearedTextFromTextbox = c.Text.Replace(".", ",");
В c# строки являются неизменяемыми, поэтому операция Replace возвращает новую строку, которую нужно присвоить переменной.
- Предложено в качестве ответа Dmitriy VereshchakMicrosoft contingent staff 11 сентября 2013 г. 6:38
- Изменено Oleg Kurzov 11 сентября 2013 г. 10:44
- Помечено в качестве ответа Panda_Gun 11 сентября 2013 г. 10:45
- Снята пометка об ответе Panda_Gun 11 сентября 2013 г. 10:48
11 сентября 2013 г. 6:28 -
"System.Windows.Controls.TextBox" не содержит определения для "Replace" и не был найден метод расширения "Replace", принимающий тип "System.Windows.Controls.TextBox" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) 112 1911 сентября 2013 г. 10:29
-
"System.Windows.Controls.TextBox" не содержит определения для "Replace" и не был найден метод расширения "Replace", принимающий тип "System.Windows.Controls.TextBox" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) 112 19
Этот метод для string и свойства TextBox.Text11 сентября 2013 г. 10:39 -
Спасибо, отредактировал сообщение.11 сентября 2013 г. 10:44
-
11 сентября 2013 г. 10:49
-
Попробуйте:
string text = "134,55"; text = text.Replace(",", "."); double num = Double.Parse(text, CultureInfo.InvariantCulture);
и еще, у Вас же идет обработка символов? В TextBox можно ведь ввести "ABC133,44" и Double.Parse выдаст исключение. Вам или нужно обработать символы или использовать TryParse
11 сентября 2013 г. 10:59 -
Программа под виндовс фон 7.1
InputScope="Number"
Есть только 1-9 и точка . Так вопрос в том как сделать чтобы число на пример 19.123 выглядело как 19,123 .
11 сентября 2013 г. 11:20 -
Где именно выглядело, при вводе в текстбоксе?
- Изменено Oleg Kurzov 11 сентября 2013 г. 11:43
11 сентября 2013 г. 11:42 -
Когда смена из стринг в добл .11 сентября 2013 г. 11:46
-
То есть что бы в коде в полученной строке было 19,22 (с запятой), а не 19.22(с точкой) и Вы это число могли распарсить в double ?
Просто в первом сообщении Вы наоборот хотели сделать Replace что бы убрать запятую, я просто уже перестал понимать что конкретно Вам нужно сделать. Пожалуйста, дайте или пример проекта, или опишите проблему подробней.
11 сентября 2013 г. 12:05 -
По умолчанию преобразование числа в строку и наоборот выполняется в соответствии с текущими региональными установками системы. В русском языке целую и дробную части принято разделять запятой, поэтому метод Convert.ToDouble и ожидает запятую в строке, а не точку. Никакой замены символов Вам не потребуется, если Вы воспользуетесь другим перегруженным методом ToDouble (с двумя параметрами). Во втором параметре передайте следующее: System.Globalization.CultureInfo.InvariantCulture. Тем самым вы указываете методу, что региональные настройки использовать не нужно.
- Предложено в качестве ответа kosuke904 11 сентября 2013 г. 12:07
11 сентября 2013 г. 12:07 -
Как в коде оформить , скрин выше .11 сентября 2013 г. 12:11
-
Double c_num = Convert.ToDouble(c.Text, System.Globalization.CultureInfo.InvariantCulture)
- Помечено в качестве ответа Panda_Gun 11 сентября 2013 г. 12:22
11 сентября 2013 г. 12:13 -
Естественно, если подобные преобразования в коде встречаются часто, можно вынести System.Globalization в using11 сентября 2013 г. 12:15
-
Спасибо. using System.Globalization.CultureInfo.InvariantCulture ?
- Изменено Panda_Gun 11 сентября 2013 г. 12:29
11 сентября 2013 г. 12:29 -
Нет.
using System.Globalization;
А в вызове метода оставить только CultureInfo.InvariantCulture
11 сентября 2013 г. 12:30 -
Хотя такой вызов небезопасен. Пользователь может все, что угодно написать в TextBox-е. Лучше посмотрите на метод Double.TryParse!11 сентября 2013 г. 12:36
-
Пусть попробует.
11 сентября 2013 г. 12:40