Come si arrotondare a un decimale o fluttuare su un numero intero. Per esempio ...Decimale/doppio a intero - arrotondare per eccesso (non solo per il più vicino)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Ecc
Come si arrotondare a un decimale o fluttuare su un numero intero. Per esempio ...Decimale/doppio a intero - arrotondare per eccesso (non solo per il più vicino)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Ecc
semplice, utilizzare Math.Ceiling
:
var wholeNumber = (int)Math.Ceiling(fractionalNumber);
qualcosa di simile?
int myInt = (int)Math.Ceiling(myDecimal);
Perché convertire in una stringa solo per eseguire il parsing? Basta lanciarlo. –
Ovviamente è meglio. Modificato la mia risposta ora. –
Math.Ceiling non funziona per me, io uso questo codice e questo lavoro :)
int MyRoundedNumber= (int) MyDecimalNumber;
if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
MyRoundedNumber++;
e se si vuole arrotondare numero negativo per giù ad esempio rotonda -1.1 a -2 uso questo
int MyRoundedNumber= (int) MyDecimalNumber;
if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
if(MyRoundedNumber>=0)
MyRoundedNumber++;
else
MyRoundedNumber--;
var d = 1.5m;
var i = (int)Math.Ceiling(d);
Console.Write(i);
Questo * arrotonda * semplicemente il numero, non necessariamente lo arrotonda ** su **. – radoh
Prima di dire che non funziona, è necessario verificare che tutti i valori nella operazione sono doppie tipo. Ecco un esempio in C#:
int speed= Convert.ToInt32(Math.Ceiling((double)distance/ (double)time));
Quale comportamento si desidera per i numeri negativi? -1.1 va a -1 (vai a più grande) o -2 (vai a più lontano da zero)? –