2010-08-02 13 views
10

Ho variabile come float num = (x/y); Ho bisogno di arrotondare il risultato ogni volta che num dà risultato come 34.443. Quindi come fare in C#?Come arrotondare un numero

risposta

25

Uso Math.Ceiling:

Restituisce il più piccolo intero maggiore o uguale al numero specificato

Si noti che questo funziona su raddoppia, quindi se volete un galleggiante (o un intero) dovrai lanciare.

float num = (float)Math.Ceiling(x/y); 
+2

Se sia '' x' e y' sono numeri interi, che verrà troncato. – Zaz

+0

@Josh: vero. Supponevo che l'OP avesse già i float poiché il risultato era 34.443, ma vale sicuramente la pena chiamarlo esplicitamente. – Quartermeister

+0

Ceiling o Floor in base al requisito ... –

2

Usa Math.Ceiling se si desidera che il numero intero maggiore della risposta, o Math.Floor se si vuole un intero minore la risposta.

Esempio

Math.Ceiling(3.46) = 4; 
Math.Floor(3.46) = 3; 

Usa quello richiesto per il vostro caso.

+0

+1 nice ......... –

5
float num = (x/y); 
float roundedValue = (float)Math.Round(num, 2); 

Se si utilizza la funzione Math.Round, è possibile specificare no dei punti da arrotondare.

+0

'Math.Ceiling' -" Ho bisogno di arrotondare ** up ** ... " – Zaz

1

se avete bisogno di 2 decimali, yo può usare qualcosa di simile:

float roundedvalue = (float)Math.Ceiling(x*100/y) /100; 
float roundedvalue = (float)Math.Floor(x*100/y) /100; 
Problemi correlati