【问题标题】:C# XPath / formatting decimal places of variable type XmlNodeListC# XPath / 格式化变量类型 XmlNodeList 的小数位
【发布时间】:2021-09-25 09:41:09
【问题描述】:

我希望将 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);
  }

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

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

目前,排放量根本不会被截断。

【问题讨论】:

  • 那么选定的emssion 元素之一的内容看起来如何?您期望哪种结果,如果事情“似乎不起作用”,您会得到哪种结果。
  • 我已经编辑了帖子并添加了该信息
  • InnerXml 是一个字符串,而不是要格式化的数字。数字格式说明符对字符串没有影响

标签: c# xpath xmlnodelist


【解决方案1】:

使用year.CreateNavigator().ValueAsDouble 代替year.InnerXml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2015-10-21
    • 2011-03-27
    • 1970-01-01
    相关资源
    最近更新 更多