如何在c#中将数据从字符串转换为long

May*_*shP 87 c# string type-conversion long-integer

我如何在C#中将数据从字符串转换为long?

我有数据

String strValue[i] ="1100.25";
Run Code Online (Sandbox Code Playgroud)

现在我想要它

long l1;
Run Code Online (Sandbox Code Playgroud)

小智 169

Convert.ToInt64("1100.25")
Run Code Online (Sandbox Code Playgroud)

来自MSDN的方法签名:

public static long ToInt64(
    string value
)
Run Code Online (Sandbox Code Playgroud)

  • 这就是我做到的.应该标记为正确的答案. (2认同)
  • 它将给出不正确格式的字符串异常. (2认同)
  • 这是行不通的。系统格式异常错误。字符链格式不正确存在一些问题。 (2认同)

Bru*_*oLM 43

如果要获取该数字的整数部分,必须先将其转换为浮点数,然后转换为long.

long l1 = (long)Convert.ToDouble("1100.25");
Run Code Online (Sandbox Code Playgroud)

您可以使用Math类来根据需要对数字进行舍入,或者只是截断...


stu*_*ark 15

long l1 = Convert.ToInt64(strValue);
Run Code Online (Sandbox Code Playgroud)

应该可以做到这一点。


Joh*_*ohn 10

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

l1 = Convert.ToInt64(strValue)

虽然你给出的例子不是整数,但我不确定你为什么要这么长.


小智 9

您也可以使用long.TryParselong.Parse

long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
Run Code Online (Sandbox Code Playgroud)


lov*_*nce 6

由于小数点,您将无法将其直接转换为 long 我认为您应该将其转换为十进制,然后将其转换为 long ,如下所示:

String strValue[i] = "1100.25";
long l1 = Convert.ToInt64(Convert.ToDecimal(strValue));
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!