CSharp:Funzioni di matematica
From Aino Wiki
Contents
Funzioni matematiche
Verificabili qui: dotnetfiddle
Libreria Math
Valore assoluto
int abs1 = Math.Abs(-100);
Approssimazione - Arrotondamento
Uso di: Math.Round
Arrotonda all'intero o al decimale più vicino.
Math.Round(variabile, cifre dopo la virgola, metodoDiArrotondamento);
Seguono esempi.
Doc: Microsoft
Da dotnetperls
double before1 = 123.45; double after1 = Math.Round(before1, 1, MidpointRounding.AwayFromZero); double after2 = Math.Round(before1, 1, MidpointRounding.ToEven); double after3 = Math.Round(before1); // Arrotonda all'intero superiore Console.WriteLine(before1); // Nessuna modifica Console.WriteLine(after1); Console.WriteLine(after2); Console.WriteLine(after3);
Con output:
123.5 123.45 123.4 123
Per fare dei test sul campo dotnetfiddle:
using System; public class Program { public static void Main() { double prima = 10.45; double dopo1 = Math.Round(prima, 1, MidpointRounding.AwayFromZero); double dopo2 = Math.Round(prima, 1, MidpointRounding.ToEven); double dopo3 = Math.Round(prima, 2, MidpointRounding.AwayFromZero); double dopo4 = Math.Round(prima, 2, MidpointRounding.ToEven); Console.WriteLine(string.Format("Prima {0}, Arrotondato:\r\nAwayFromZero {1}, ToEven {2}\r\nAwayFromZero {3}, ToEven {4}", prima, dopo1, dopo2, dopo3, dopo4)); } }
Es. 2
Altro esempio di arrotondamento (Round) convertendo in stringa col ToString:
int wayPoitPointRoudTo = 5; decimal val = 0.1234567M; Console.WriteLine("Valore: " + Math.Round(val, wayPoitPointRoudTo).ToString("0.00000"));
Potenza
// 10 ^ 5 double risultato = Math.Pow(10, 5); // = 1000000
Libreria di Default
Modulo
Per ottenere il resto di una divisione intera
// 5 : 2 = 2 con resto di uno, quindi 5%2 = 1 ..ovvero il resto (Integer remainder) if (5 % 2) { Console.WriteLine("Divisione con DECIMALI"); }
Mappa e Links
C# | Teoria | Info fondamentali