Limit decimal places float c #

2

I would like to show the mediadesp and the mediareceit with 2 decimals after the comma.

private void MediaReceitaseDespesas()
    {
        /* ----TOTAL / QTDE DE VALORES INFORMADOS----*/
        mediadesp = somadesp / despesas.Count;
        mediareceit = somareceit / receitas.Count;
        Console.WriteLine($"A média das despesas foi de: {mediadesp} R$");
        Console.WriteLine();
        Console.WriteLine($"A média das receitas foi de: {mediareceit} R$");
        Console.WriteLine();
        Console.ReadLine();
    }
    
asked by anonymous 19.04.2018 / 16:38

2 answers

4

The method Console.WriteLine(String, Object) (see doc) has support for Format Strings so it can indicate the output format by defining one.

One of the examples in the officinal documentation truncates the value and immediately puts the currency symbol:

decimal valor = 123.456m;
Console.WriteLine(valor.ToString("C2"));
// Escreve $123.46 no ecrã.

So you can do something like:

Console.WriteLine($"A média das receitas foi de: {0:C2}", 

You can also specify in the Format String which coin region and solves the problem of the R$ symbol.

    
19.04.2018 / 16:51
3

Use the formatting {0.00}

Console.WriteLine($"A média das despesas foi de: {mediadesp:0.00} R$");
...
Console.WriteLine($"A média das receitas foi de: {mediareceit:0.00} R$");
    
19.04.2018 / 16:51