Рейтинг:
1
OriginalGriff
Беда в том, что" 2.050.000 " - это не число с точки зрения C#.
Хотя". "допускается в качестве" разделителя тысяч " на нескольких языках, C# вообще не использует их и настаивает на том, чтобы число записывалось как "nnnnnn.dddd", где "nnnnnn" - целая часть, а "dddd" - "дробная" часть.
Поэтому, если ваше число должно быть 2050000, то запишите его как 2050000.0.
Если у вас есть введенные пользователем значения, включающие разделитель тысяч, используйте double.TryParse, чтобы преобразовать его:
двойной d;
иначе, если один операнд строкового = "2,050,000"; // мой язык использует запятую в качестве разделителя
если (!двойной.TryParse(userInput, out d))
{
Приставка.WriteLine("не распознан");
}
ещё
{
Приставка.WriteLine(d);
}
При условии, что языковой стандарт пользователя установлен правильно, он должен анализировать входные данные желаемым образом.
Member 13044689
на самом деле это код для суммирования между столбцами и double.parse не работает какая-то помощь
если (электронная.Подряд.RowType == DataControlRowType.Строкаданных)
{
если ((например.Подряд.Состояние rowstate &амп; DataControlRowState.Редактировать) и gt; 0)
{
строка val1 = e. Row. Cells[13]. Text;
строка val2 = e. Row. Cells[14]. Text;
строка val3 = e. Row. Cells[15]. Text;
строка val4 = e. Row. Cells[16]. Text;
Label lblTotal = (Label)e. Row. Cells[12]. FindControl ("Label20");
поплавок _val1, _val2, _val3, _val4;
плыть.Метод tryparse(val1, из _val1);
плыть.Метод tryparse(val2, из _val2);
плыть.Метод tryparse(val3, из _val3);
плыть.Метод tryparse(val4, из _val4);
плавающая сумма = _val1 + _val2 + _val3 + _val4;
lblTotal.Текст + = сумма.Метод toString();
в столбце итого не отображается число
OriginalGriff
Итак, что же именно находится в переменных val1, val2 и sum? Используйте отладчик и проверьте.
Почему ты не пользуешься поплавком?TryParse возвращает значение, чтобы проверить, были ли данные действительным числом?
Member 13044689
не имеет значения какое значение в нем может быть пустым или нет но проблема в том как я могу суммировать используя 2 точечное значение
пример: предположим, что val1 = 2,050,000
val2 = 3,000,000
сумма = 5,050,000 ----------> Но нет никакого значения, появляющегося в sum col
и да, он работает хорошо, когда я пробую любые числа со значением 1 точка, так что вы можете помочь?
OriginalGriff
Это не точки, это запятые - то есть тысячи разделителей.
При условии, что ваша культура и локаль настроены на их принятие, TryParse будет работать.
Он имеет перегрузку, которая позволяет вам указать культурную информацию:
https://msdn.microsoft.com/en-us/library/0xh24xh4(v=против 110). aspx
Возможно, вам стоит этим воспользоваться.
Используйте отладчик, проверьте, что именно происходит. В данный момент Вы догадываетесь, в чем проблема, а не смотрите на доказательства.