通过在datagridviewcolum中指定DefaultCellStyle.Format值来显示百分比

时间:2009-11-13 22:30:36

标签: c# vb.net datagridview

With datagridview.Columns("PricePerUnit")
    .ValueType = Type.GetType("System.Decimal")
    .DefaultCellStyle.Format = "C"
End With

数据表绑定到datagridview和 在上面的代码中,如果我只是将值为5的行添加到“PricePerUnit”列中 它将在datagridview列中显示为$ 5.00

同样地,我希望显示类似的内容如果我只是将值为5的行添加到“DiscountPercentage”列中

它应显示为5.00%

我需要一个字符串值来分配给DefaultCellStyle.Format来实现这一点。

如果我使用DefaultCellStyle.Format="P",它会自动将其乘以100等等 对于输入5,它显示为500.00%而不是5.00%

有什么想法吗?


已解决

dtb帮助我这样做(感谢他)

number.ToString("0.00\%")获取十进制数和2个十进制整数

2 个答案:

答案 0 :(得分:11)

这里似乎需要Custom Numeric Format String

在C#中:

12m.ToString("0\\%");  // returns "12%"

所以这应该可以解决问题:

pricePerUnitColumn.DefaultCellStyle.Format = "0\\%";

答案 1 :(得分:0)

为什么不直接添加.05而不是5?或者这不是一个选择?