我在sql表中有钱区,当我按表提取记录并将其绑定到datagrid时它显示金钱以及100.0000十进制四个字符我只需要两个。 Plz建议。
答案 0 :(得分:3)
在我看来,这种格式化应该在UI端完成。
下面显示的示例使用ASP.NET DataGrid。在列中,您需要在列上指定 DataFormatString 属性。在这种情况下, {0:C2} 会将该属性显示为带有2位小数的货币
<asp:DataGrid ID="grid1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundColumn HeaderText="Product Name" DataField="Name" />
<asp:BoundColumn HeaderText="Price" DataField="Price" DataFormatString="{0:C2}" />
</Columns>
</asp:DataGrid>
答案 1 :(得分:2)
select cast(round(123.4321,2) as decimal(18,2))
也是您问题的解决方案。
答案 2 :(得分:0)
如果要以数字格式返回数据,并且应该(而不是将其转换为字符串),那么这就是应用程序表示/格式化问题。
答案 3 :(得分:0)
试试这个:
SELECT
ROUND(YourColumn,2)
FROM ...
测试出来:
DECLARE @YourTable table (RowValue money)
INSERT @YourTable VALUES (123.4321)
INSERT @YourTable VALUES (0.001)
INSERT @YourTable VALUES (1.1251)
SELECT
RowValue, ROUND(RowValue,2) AS TwoPlaces
FROM @YourTable
输出:
RowValue TwoPlaces
--------------------- ---------------------
123.4321 123.43
0.001 0.00
1.1251 1.13
(3 row(s) affected)
答案 4 :(得分:0)
结帐GridView Examples for ASP.NET 2.0: Formatting the GridView。
您需要将DataFormatString属性设置为eg。 “{0:0.00}”