2016-04-24 29 views
5

Mi dispiace se questo è un duplicato ma non ho trovato nulla di rilevante.Stampa di numeri interi con {#} in C#?

Quindi, come posso stampare 0 per i numeri che hanno una radice quadrata con il seguente codice?

for (n = 1.0; n <= 10; n++) 
{ 
    Console.WriteLine ("Fractional Part : {0 :#.####}", (Math.Sqrt(n) - (int) Math.Sqrt(n))); 
} 

Current O/P: enter image description here

risposta

7

Ipotizzando uno zero sugli altri risultati frazionari è accettabile, e dal momento che il risultato è sempre nella gamma di [0,1), basta solo cambiare #.#### a 0.####.

for (var n = 1.0; n <= 10; n++) 
{ 
    Console.WriteLine("Fractional Part : {0:0.####}", (Math.Sqrt(n) - (int) Math.Sqrt(n))); 
} 

Risultati:

Fractional Part : 0 
Fractional Part : 0.4142 
Fractional Part : 0.7321 
Fractional Part : 0 
Fractional Part : 0.2361 
4

Come sull'utilizzo The numeric "N" format specifier con 4 precisione?

for (var n = 1.0; n <= 10; n++) 
{ 
    Console.WriteLine("Fractional Part : {0}", 
         (Math.Sqrt(n) - (int)Math.Sqrt(n)).ToString("N4")); 
} 

risultato è:

Fractional Part : 0.0000 
Fractional Part : 0.4142 
Fractional Part : 0.7321 
Fractional Part : 0.0000 
Fractional Part : 0.2361 
Fractional Part : 0.4495 
Fractional Part : 0.6458 
Fractional Part : 0.8284 
Fractional Part : 0.0000 
Fractional Part : 0.1623 
Problemi correlati