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

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

数据表绑定到datagridview并在上面的代码中a如果我只是将值为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个十进制整数

看来你需要一个自定义数字格式字符串 。

在C#中:

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

所以这应该做的伎俩:

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

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