ASP.NET确定GridView.RowDataBound上小数点后的位数

时间:2017-08-06 09:18:58

标签: asp.net vb.net

我将数据绑定到我的GridView控件,在其中一列中我有一个double类型的价格列。 我在web.config文件中也有一个键,告诉我在小数点后显示多少位数。

我想根据web.config中的那个键显示数据绑定字段。

我看到这篇关于如何设置小数点后的挖掘数量的帖子:DataBinding Eval To 2 Decimal Place Doesn't Show 0

但我需要一种方法,用一个变量来表示要使用的小数位数。

我试过了:

 Private Sub grdData_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdData.RowDataBound

    Dim numOfDigitsAfterDecimal = Integer.Parse(ConfigurationManager.AppSettings("numOfDigitsAfterDecimal"))

    Dim d As String = ""
    For Z As Integer = 0 To numOfDigitsAfterDecimal - 1
        d = d + "#"
    Next

    e.Row.Cells(3).Text = String.Format("{0:0.{1}}", Double.Parse(e.Row.Cells(3).Text), d)

End Sub

但它不起作用,但如果我这样做:

e.Row.Cells(3).Text = String.Format("{0:0.##}", Double.Parse(e.Row.Cells(3).Text))

它确实有效并显示2位小数。

1 个答案:

答案 0 :(得分:0)

您可以使用N0N1N2,因此该号码会显示小数位。检查这个article 示例:

  number.ToString("N3")
  

// N:1,054.32

     

// N0:1,054

     

// N1:1,054.3

     

// N2:1,054.32

     

// N3:1,054.322