我怎么能将数据从string转换为长在C#

我怎么能将数据从string转换为长在C#中?

我有数据

String strValue[i] ="1100.25"; 

现在我想要它

 long l1; 
 Convert.ToInt64("1100.25") 

来自MSDN的方法签名:

 public static long ToInt64( string value ) 

如果你想获得这个数字的整数部分,你必须首先将其转换为一个浮点数,然后将其转换为long。

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

您可以使用Math课来收集数字,或者只是截断…

  • Math.Round
  • Math.Ceil

你将无法直接将它转换为长,因为小数点,我认为你应该把它转换成十进制,然后将其转换成长这样的东西:

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

希望这可以帮助!

long在内部表示为System.Int64,它是一个64位有符号整数。 你已经采取“1100.25”的值实际上是十进制,而不是整数,因此它不能被转换为长。

您可以使用:

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

将其转换为十进制值

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

l1 = Convert.ToInt64(strValue)

虽然你给的例子不是一个整数,所以我不知道你为什么要这么长。

long l1 = Convert.ToInt64(strValue);

这应该做到这一点。

你也可以使用Int64.TryParse方法。 如果它们是任何string值,它将返回“0”,但不会产生错误。

 Int64 l1; Int64.TryParse(strValue, out l1);