Конвертация числа с двумя точками в int

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Доброго дня.
Есть число 250.250.25 хочу его привести к int типу.

Код:
string v1 = "250.250.25";
int v11 = Int32.Parse(v1);

Постоянно выдаёт ошибку
"Входная строка имела не верный формат"
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Доброго дня.
Есть число 250.250.25 хочу его привести к int типу.

Код:
string v1 = "250.250.25";
int v11 = Int32.Parse(v1);

Постоянно выдаёт ошибку
"Входная строка имела не верный формат"
Просто замените точки на пустоту и получите число, в чем проблема?
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Это число берётся из ячейки таблицы, поэтому изначально стразу же ложится в string.
Пытался делать так:
int v11 = Int32.Parse(v1.Replace(".",""));

Результат - та же самая ошибка в логе.
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Это число берётся из ячейки таблицы, поэтому изначально стразу же ложится в string.
Пытался делать так:
int v11 = Int32.Parse(v1.Replace(".",""));

Результат - та же самая ошибка в логе.
Вас не понять - что Вам нужно конкретно и в итоге. 250.250.25 и 250,250,25 - это же не Int-овые значения. Что Вам вообще нужно получить? Int - это целочисленные значения, без точек и запятых. И у Вас вообще две точки - это как что это за числа такие?
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Мне привести в целочисленное значение без точек или запятых.
Вы всё правильно поняли.

Просто в таблице оно изначально лежит в таком виде 250.250.25
Но нужно привести в целочисленное.
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Мне привести в целочисленное значение без точек или запятых.
Вы всё правильно поняли.

Просто в таблице оно изначально лежит в таком виде 250.250.25
Но нужно привести в целочисленное.
Просто замените точки на пустоту, я же Вам писал выше. Это делается или стандартным кубиком, или если Вам нужно на коде то так:
string v1 = "250.250.25";
v1 = v1.Replace(".","");
int v11 = Int32.Parse(v1);
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Ребята, я уже этот вариант проверял, до того как писать на форум.
Вот такой код:
upload_2018-4-11_19-45-40.png

Выдаёт вот такую ошибку:
upload_2018-4-11_19-46-23.png
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Заметил ошибку. Спасибо!
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Может кто-нибудь объяснить, почему вот этот код

Код:
var final = project.Tables["final"];
var min_volume = int.Parse(project.Variables["min_volume"].Value);
var precent_settings = int.Parse(project.Variables["precent"].Value);
var length_row = final.GetRow(0).ToArray();   
var precent_count = length_row.Length - 2;

for(int i = 1; i< final.RowCount; i++){
        var final_row = final.GetRow(i).ToArray();
        for(int j=1; j < final_row.Length; j++){
            if(final_row[j].Contains("↓") || final_row[j].Contains("↑")){
                var volume_cells = final.GetRow(i + 1).ToArray();
                string volint = volume_cells[j].Replace(",","");
                int vol2 = int.Parse(volint);
                if(vol2 < min_volume ) {
                    return "yes";   
                }   
            }
        }
}
Нормально отрабатывает, но как только я меня return "yes" на вот это начинает выдавать ошибку "Входная строка имела неверный формат. При этом если в int vol2 просто записать какое-то значение числовое, то работает.
Это весьма странно

Код:
final.DeleteRow(i);
final.DeleteRow(i);           
i = i -2;
Вот кусок таблицы с которой берёт данные
upload_2018-4-11_23-7-29.png

Мой код работает только со строками, в которых первая ячейка имеет значение 24V. То есть данные такого типа 1111,11111,111
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)