C# XPath / 格式化变量类型 XmlNodeList 的小数位

问题描述

我希望将我的 year.InnerXml 格式化为 3 个小数位。我尝试过 String.Format 之类的东西,但这似乎不起作用。有什么想法吗?

  XmlNodeList getYears = doc.SelectNodes($"/ghg-canada/region[{choice}]/source/emissions[@year >= {yearsEntered[0]} and @year <= {yearsEntered[1]}]");

  foreach (XmlNode year in getYears)
  {   
      string formatted = String.Format("{0:#,0.000}",year.InnerXml);
      Console.Write("\t" + formatted);
  }

其中一个“emission”元素类似于:16.55535068。

我希望将其截断为小数点后仅 3 位数字。

目前,排放量根本没有被截断。

解决方法

使用 year.CreateNavigator().ValueAsDouble 而不是 year.InnerXml