4

当我从 sql server 获取资金字段到 vb.net 代码时,我总是得到 1.0000 而不是 1.00。如何在 vb.net 中将其转换为 1.00?

TD = New HtmlTableCell

If Not SqlDR("Price") Is DBNull.Value Then
    TD.InnerHtml = SqlDR("Price")
Else
    TD.InnerHtml = "0.00"
End If

SQLDR 是我的 sql 数据阅读器

4

3 回答 3

2

这是因为 SQL Server 使用 4 位小数存储 MONEY 字段。要使用 2 查看它,请使用String.Format方法。

String.Format("{0:c}", 10) ''result: $10.00

String.Format("{0:N2}", 10) ''result: 10.00

有关格式化数字的更多方法,请参阅这些页面

于 2010-02-26T23:17:51.370 回答
1

输出时需要格式化数据:

myMoney.ToString("0.00");
于 2010-02-26T23:18:20.560 回答
1

您确定没有将值的显示实际值混淆吗?

1.0000 和 1.00 是相同的值。

如果您想在将值转换为字符串时仅显示一定数量的位置,您应该查看MSDN 文档中的自定义数字格式字符串部分,以找出要传递给 Decimal、Double 上的 ToString 方法的格式字符串,单个结构,或 String 类的静态 Format 方法。

于 2010-02-26T23:18:24.777 回答