我有一个字符串“0.000”(或任何类似的字符串),我想将其转换为长字符串。我很乐意“砍掉”小数点后的任何内容。
解决这个问题的最佳方法是什么?
我可以先转换为 double,然后再转换为 long,但我只是想知道是否有更简单的方法。以下所有语句都会抛出异常:
long l3 = Convert.ToInt64(nrToConvert);
long l1;
long.TryParse(nrToConvert, out l1);
long l2 = long.Parse(nrToConvert);
最佳答案
通常在解析字符串值时,我会首先将其解析为它所代表的类型。所以在这种情况下将它解析为 double ,因为它是 double 的。是的,我写的是解析而不是有意转换。 解析字符串时可能会出错的地方太多了,因此请始终为解析失败做好准备!它几乎肯定会在某个时候出现。
double val;
if(double.TryParse(nrToConvert,out val))
{
//yous should validate that the value is within the expected range as well
return (long)val;
}
else
{
//do some error handling;
}
关于.net - 在 .NET 中,如何从 "0.000"转换为 'long'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996920/