.net - 在 .NET 中,如何从 "0.000"转换为 'long'?

标签 .net parsing

我有一个字符串“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/

相关文章:

C# 传递属性

c++ - 将 GUI 添加到非托管/boost C++ 应用程序

javascript - 按顺序解析子元素中的 JSON

javascript - 使用 Node 解析多个大型 JSON 文件到 mongoDB

java - 如何设置 "org.w3c.css.sac.parser"系统属性?

c# - 尝试使用自定义验证属性时出现 System.InvalidOperationException

c# - 如何创建具有两种不同数据类型值的键值对?

.net - 使用 C# 创建 Windows 任务运行一次并立即删除

用 D 解析文件

java - 从字符串中解析 double