vdominick Ответов: 3

Строка 0, 1234 в целое число


как это возможно, чтобы преобразовать строку в целое число 0,1234, что я могу хранить в SQL-таблице, которая имеет тип int, как поле

Что я уже пробовал:

_sAmount = dr[13].ToString().Trim().Replace(",",".");
                    _Amount = Convert.ToInt32(_sAmount,4);

Andy Lanng

Вам нужны оба Инта или только ненулевые?

3 Ответов

Рейтинг:
1

vdominick

это работает, но и у меня есть цифры между ними

9999.9999 и -9999.9999

так что отрицательные и после запятой цифры..
как преобразовать эту строку в базу данных sql.
В базе данных я использую Numeric (10,5) witch works, но как преобразовать их из моего кода c# из строки в цифру??

Доминика


Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Рейтинг:
0

OriginalGriff

Замена запятой точкой не сработает: это не создает целое число - оно создает число с плавающей запятой: "0.1234", которое не будет разбираться как целое число.

Вы могли бы использовать double.TryParse вместо Convert.ToInt32 а затем приведите его к целому числу, но это просто даст вам ноль, так как часть .1234 будет отброшена.

Я бы посмотрел на свой источник данных и попытался точно определить, что он должен содержать: почему ваш столбец DataTable содержит такие числа, как "0,1234"? Это должно быть два числа, разделенные запятыми? Или одно плохо разделенное число "01 234"? Или что? У вас вообще есть правильная колонка? Мы не можем сказать, и, вероятно, вы тоже не можете!

Начните с данных и выясните, что у вас есть: просто доверяя им и слепо конвертируя их, вы получите огромные проблемы в будущем.


Рейтинг:
0

Andy Lanng

Если это 0.1234 то int не будет достаточно точным

Попробовать двойной.разбор(с)