【问题标题】:BoundField double show as many decimal places as neededBoundField double 根据需要显示尽可能多的小数位
【发布时间】:2015-05-22 02:42:34
【问题描述】:

我有一个双变量分配给gridview 中的boundfield。最多只能保留 5 位小数。

boundfield 将显示格式化为科学值。我假设是因为它会默认为提供最紧凑的定点或科学记数法的通用格式 (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring%28v=vs.110%29.aspx)

如何格式化数字以仅显示所需的小数位数,最多 5 位。并且不显示科学记数法?

即 0.00002 目前显示为 2E-05,但我希望它显示为 0.00002。 0.002 应该这样显示,而不是 0.00200。 1 应该表明这一点,而不是 1.00000。等等

因此,{0:N5} 之类的格式不起作用。 {0:N} 默认为 2 位小数,因此也不起作用。

感谢您的帮助。

【问题讨论】:

  • 我不认为你会得到你想要的标准 BoundField.DataFormatString 代码给定的要求。我认为您可能必须启动一个自定义处理程序来呈现该特定列并执行一些自定义字符串格式化技巧来获得您想要的内容。

标签: asp.net gridview double dataformat boundfield


【解决方案1】:

感谢@David W 的建议 无论如何,我最终解决了它。 虽然我找不到任何文档,但您可以为其提供适当的自定义格式。 因此,以下解决了我的问题;

<asp:BoundField DataField="theField" DataFormatString="{0:0.#####}" />

【讨论】:

  • 好吧,我想我学到了一些东西。我无关紧要的答案毫无意义,让事情变得更复杂!祝你有美好的一天。很高兴你解决了。
  • 经过一番挖掘(他们有点埋了它),我找到了 # 说明符详细信息的链接。专为不添加不相关的 0 而设计,就像您需要的那样。 msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多