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

Ram*_*mji 6 c# vb.net datagridview

With datagridview.Columns("PricePerUnit")
    .ValueType = Type.GetType("System.Decimal")
    .DefaultCellStyle.Format = "C"
End With
Run Code Online (Sandbox Code Playgroud)

数据表绑定到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个十进制整数

dtb*_*dtb 12

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

在C#中:

12m.ToString("0\\%");  // returns "12%"
Run Code Online (Sandbox Code Playgroud)

所以这应该做的伎俩:

pricePerUnitColumn.DefaultCellStyle.Format = "0\\%";
Run Code Online (Sandbox Code Playgroud)