Module: VARIABILI. FORMATI DI USCITA


Problem

5/5

Precisione dell'uscita

Theory Click to read/hide

Specificatori di output
Per generare valori reali, basta chiamare il metodo Console.WriteConsole.WriteLine:
  doppio a = 0,9999; Console.Write(a);  
Ma a volte è necessario preformattare l'output dei valori, è conveniente farlo utilizzando il metodo String.Format, maggiori dettagli qui.
Output con una certa precisione
Per formattare i numeri frazionari, viene utilizzato lo specificatore f, il numero dopo il quale indica quanti caratteri ci saranno dopo il separatore. doppia a = 12,123; Console.WriteLine(String.Format("{0:f2}", a)); Il risultato sarà 12,12, ma se utilizzi il valore 0.9999, si verificherà un arrotondamento incontrollato e   1.00.

Pertanto, il seguente algoritmo viene utilizzato per eliminare i segni anziché l'arrotondamento:
1) moltiplicare il valore originale per 10, tante volte quante è necessario lasciare i decimali;
2) utilizzando il metodo   Math.Truncate, lasciamo solo la parte intera;
3) dividere il valore risultante per 10, tante volte è necessario lasciare i decimali.

Esempio di output con precisione di due decimali: 
doppio a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
Il tipo di separatore durante l'output del risultato (punto o virgola) dipende dalle impostazioni internazionali del computer, quindi per utilizzare sempre un punto come separatore, è necessario modificare le impostazioni internazionali in invariant, esempio risultante:
 
CultureInfo ci = new CultureInfo(""); doppio a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));

Problem

Scrivi un programma che stampi il valore di una variabile con 2 cifre decimali.