show percentage by specifying DefaultCellStyle.Format value in datagridviewcolum

24,311

It seems you need a Custom Numeric Format String here.

In C#:

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

So this should do the trick:

pricePerUnitColumn.DefaultCellStyle.Format = "0\\%";
Share:
24,311
Ramji
Author by

Ramji

A Simple Guy

Updated on November 14, 2020

Comments

  • Ramji
    Ramji over 3 years
    With datagridview.Columns("PricePerUnit")
        .ValueType = Type.GetType("System.Decimal")
        .DefaultCellStyle.Format = "C"
    End With
    

    A datatable is bound to the datagridview and in the above code a If I just add row with a value five to the column "PricePerUnit" it will be shown as $5.00 in the datagridview column

    Similarly I want to show up something like If I just add row with a value five to the column "DiscountPercentage"

    it should show as 5.00%

    I need a string value to assign to DefaultCellStyle.Format to achieve this.

    If I use DefaultCellStyle.Format="P" it automatically multiplies that to 100 and so for a input of 5 it shows as 500.00% instead of 5.00%

    Any ideas?


    Resolved

    dtb Helped me do this (thanks to him)

    number.ToString("0.00\%") gets the decimal number along with 2 decimal integers

  • Ramji
    Ramji over 14 years
    datagrid view is used for display only, database is updated only from the values from datatable
  • Ramji
    Ramji over 14 years
    trust me you are nothing short of a genius it worked well and I used for also showing 2 decimals after that like this Number.ToString("0.00\%")