Как я могу преобразовать данные из строки в длинные в C # - PullRequest
83 голосов
/ 13 июня 2011

Как я могу преобразовать данные из строки в long в C #?

У меня есть данные

String strValue[i] ="1100.25";

Теперь я хочу их в

long l1;

Ответы [ 9 ]

160 голосов
/ 21 июня 2013
Convert.ToInt64("1100.25")

Подпись метода из MSDN:

public static long ToInt64(
    string value
)
40 голосов
/ 13 июня 2011

Если вы хотите получить целую часть этого числа, вы должны сначала преобразовать ее в плавающее число, а затем привести к длинному.

long l1 = (long)Convert.ToDouble("1100.25");

Вы можете использовать Math класс, чтобы округлить число, сколько хотите, или просто обрезать ...

9 голосов
/ 13 июня 2011

http://msdn.microsoft.com/en-us/library/system.convert.aspx

l1 = Convert.ToInt64(strValue)

Хотя приведенный вами пример не является целым числом, поэтому я не уверен, почему вы хотите его как длинный.

8 голосов
/ 08 августа 2018

Вы также можете использовать long.TryParse и long.Parse.

long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
4 голосов
/ 13 июня 2011

Вы не сможете преобразовать его напрямую в длинную из-за десятичной точки, я думаю, вам следует преобразовать ее в десятичную, а затем преобразовать в длинную примерно так:

String strValue[i] = "1100.25";
long l1 = Convert.ToInt64(Convert.ToDecimal(strValue));

надеюсь, это поможет!

3 голосов
/ 13 июня 2011
Длина

внутренне представлена ​​как System.Int64, представляющее собой 64-разрядное целое число со знаком. Полученное вами значение «1100.25» на самом деле является десятичным, а не целым числом, поэтому его нельзя преобразовать в длинное.

Вы можете использовать:

String strValue = "1100.25";
decimal lValue = Convert.ToDecimal(strValue);

чтобы преобразовать его в десятичное значение

1 голос
/ 13 июня 2011

Вы также можете использовать Int64.TryParse Метод.Он вернет '0', если их будет любое строковое значение, но не сгенерировал ошибку.

Int64 l1;

Int64.TryParse(strValue, out l1);
1 голос
/ 13 июня 2011

long l1 = Convert.ToInt64 (strValue);

Это должно сделать это.

0 голосов
/ 23 мая 2019
long=convert.toDouble("strvalue")
...