Search code examples
c#decimalformat-string

decimal/money in formatted string


I can't format decimal in custom formatted string

0.656 => 0.67; 
23.656 => 23.67;
5105.54 => 5 105.54;
1234567,89 => 1 234 567,89

I found several posts:

c# - Using String Format to show decimal upto 2 places or simple integer

c# - Converting Decimal to string with non-default format

but when try to use them getting several problem

for example: on value

0.656 i'm getting ".656" or ".66"

23.656 => " 23.656" or " 23.66"

Car someone recommend links where I can find formatstring rules?


Solution

  • I don't think you actually want to convert 0.656 to 0.67, cause it is just wrong. I guess you mean it should display as 0.66

    Use

    YourNumber.ToString("0.##");
    

    If you really want to have spaces (which again i think it is wrong):

    YourNumber.ToString("#,##0.##").Replace("."," ")