C# 如何在datatable中指定格式化列值

C# 如何在datatable中指定格式化列值,c#,datatable,C#,Datatable,我正在执行查询,从表中选择平均值、最小值、最大值 现在,我有了datatable 返回十进制和整数值的查询。 对于Decimal,我必须用逗号精确格式化,对于integer,我必须用逗号和ShowDataTable 现在,我迭代列的每一行,并将其格式化为: String.Format{0:,0.00},resultDataTable.Rows[0][0] 它给了我期望的结果1555222.20 现在,我必须将其分配给resultDataTable.Rows[0][0],以便它在UI上应该是相同的

我正在执行查询,从表中选择平均值、最小值、最大值

现在,我有了datatable

返回十进制和整数值的查询。 对于Decimal,我必须用逗号精确格式化,对于integer,我必须用逗号和ShowDataTable

现在,我迭代列的每一行,并将其格式化为:

String.Format{0:,0.00},resultDataTable.Rows[0][0]

它给了我期望的结果1555222.20

现在,我必须将其分配给resultDataTable.Rows[0][0],以便它在UI上应该是相同的

如果您可以更改列的类型,则不会指定它

考虑到您提出的问题,您似乎有两个不同的数据表。我认为您可以完全区分您在幕后拥有的内容和您将在用户界面中描述的内容。因此,一种可能的解决方案是将格式化数据保存在字符串列中。因此,通过更改数据列的类型,您可以简单地实现所需的内容

System.Data.DataTable table = new DataTable("Table");
column.DataType = System.Type.GetType("System.String");
table.Columns.Add(column);
使用此策略,您不需要格式化收到的十进制项

如果您被限制使用具体的数据表

即使您被限制使用具体的数据表,也不应该有任何问题。 您只需要在用户界面内格式化接收到的数据


我希望这个答案是有用的

如何显示这些数据?通常使用UI控件来显示DataTable的数据,并且该UI控件内置了格式化选项,这样您就不会在DataTable级别格式化数据……这里与@HereticMonkey一致。格式化通常由用户界面执行。让数据成为它下面的任何内容。只需在人类与之交互的层面上对其进行更改。让电脑保持它喜欢的格式。他们每个人都很高兴。好的,但是如果我想更改datatable结果,那么我该怎么做呢?在不更改类型的情况下,是否可以分配值?用户界面的技术是什么?它是一个web应用程序还是什么?正如前面提到的,您可以简单地格式化接收到的数据。如果我知道您确切使用的技术,我可能会告诉您如何在用户界面内处理数据。这是一个在UI上带有datatable的web应用程序