我有一个字符串,"0.000"(或任何类似的字符串),我想转换为长.我很高兴在小数点后"砍掉"任何东西.
最好的方法是什么?
我可以转换为double然后再转换为long,但我只是想知道是否有更简单的方法.以下所有语句都会抛出异常:
long l3 = Convert.ToInt64(nrToConvert);
long l1;
long.TryParse(nrToConvert, out l1);
long l2 = long.Parse(nrToConvert);
Run Code Online (Sandbox Code Playgroud)
通常,在解析字符串值时,我会首先将其解析为它所代表的类型.因此在这种情况下将其解析为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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1540 次 |
| 最近记录: |