Как можно преобразовать данные из строки в long в С#?
У меня есть данные
String strValue[i] ="1100.25";
теперь я хочу его в
long l1;
Как можно преобразовать данные из строки в long в С#?
У меня есть данные
String strValue[i] ="1100.25";
теперь я хочу его в
long l1;
Convert.ToInt64("1100.25")
Подпись метода из MSDN:
public static long ToInt64(
string value
)
Если вы хотите получить целочисленную часть этого номера, вы должны сначала преобразовать его в плавающее число, а затем применить к длине.
long l1 = (long)Convert.ToDouble("1100.25");
Вы можете использовать класс Math
, чтобы округлить номер по своему усмотрению или просто усечь...
http://msdn.microsoft.com/en-us/library/system.convert.aspx
l1 = Convert.ToInt64(strValue)
Хотя приведенный вами пример не является целым числом, поэтому я не уверен, почему вы хотите его так долго.
Вы также можете использовать long.TryParse
и long.Parse
.
long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
Вы не сможете преобразовать его напрямую в long из-за десятичной точки, я думаю, вы должны преобразовать его в десятичную, а затем преобразовать в длинное нечто вроде этого:
String strValue[i] = "1100.25";
long l1 = Convert.ToInt64(Convert.ToDecimal(strValue));
надеюсь, что это поможет!
long внутренне представлен как System.Int64, который представляет собой 64-разрядное целое число со знаком. Значение, которое вы приняли "1100.25", фактически является десятичным, а не целочисленным, поэтому оно не может быть преобразовано в long.
Вы можете использовать:
String strValue = "1100.25";
decimal lValue = Convert.ToDecimal(strValue);
чтобы преобразовать его в десятичное значение
long l1 = Convert.ToInt64 (strValue);
Это должно сделать это.
Вы также можете использовать метод Int64.TryParse
. Он вернет '0', если это любое строковое значение, но не вызвало ошибку.
Int64 l1;
Int64.TryParse(strValue, out l1);
long=convert.toDouble("strvalue")