Рейтинг:
15
#realJSOP
textBoxResult.Text = textBoxResult.Text.Replace(",","");
Jonas Kessinger
Сработало отлично, большое спасибо!
Maciej Los
Но это касается ваших реальных проблем...
Смотрите, решение № 3.
#realJSOP
Как это покрывает его реальные проблемы?
Maciej Los
Ну, самый короткий способ объяснить это-использовать пример...
var myvalue = 1000.50;
//defult regional settings
//"En-us"
Console.WriteLine(myvalue.ToString("F1").Replace(",", ""));
//result: 1000.5
CultureInfo prs = new CultureInfo("Pl-pl");
//Polish regional stettings
Console.WriteLine(myvalue.ToString("F1", prs).Replace(",", ""));
//result: 10005
Вывод?
Ваше здоровье!
Мацей
#realJSOP
Его "настоящей проблемой" было удаление запятой из строки. Его вопрос не упоминал и не подразумевал желания сделать его культурно специфичным. Его примером был переход от "1250" к "1250". Мое решение-это именно то, о чем он просил, и он отметил его как "ответ".
Maciej Los
Вызвали к доске...
Честно говоря, если решение помечается спрашивающим как ответ, это еще не доказывает, что оно вообще решает проблему.
Я пытался объяснить (на примере), что удаление запятой при преобразовании числа 1250 в строку-это правильный способ решить проблему в его ОС. Когда его программа будет использоваться на машине с различными региональными настройками, предоставленный вами метод станет причиной нескольких проблем.
Не поймите меня неправильно. Я не собираюсь вступать с тобой в словесную перепалку.
Овации,
Мацей
Рейтинг:
0
phil.o
Попробуй
textBoxResult.Text = value1.ToString("F0");
Maciej Los
Привет!
Пожалуйста, смотрите мои комментарии к решению № 1.
Овации,
Мацей
phil.o
Я полностью согласен с вами в этом Мацей; не зная, какую культуру на самом деле использует ОП, я просто предположил инвариантную культуру, для которой плавающий формат не имеет никакого разделителя тысяч.