2012-02-15 8 views
15

Ho un numero ("double") da int/int (come 10/3).Arrotonda una doppia a int

Qual è il modo migliore per Approssimazione in eccesso e convertirlo in int su C#?

+0

Qual è 'Approssimazione mediante Excess'? –

+0

Uhm ... forse non so come chiamarlo in inglese? :) Bene, se hai 0.2-> 1; 0.8-> 1 ... e così via ... "round" al prossimo int? – markzzz

+5

Intendi '(int) Math.Ceiling (x)'? – CodesInChaos

risposta

43

Stai chiedendo informazioni su System.Math.Ceiling?

Math.Ceiling(0.2) == 1 
Math.Ceiling(0.8) == 1 
Math.Ceiling(2.6) == 3 
Math.Ceiling(-1.4) == -1 
+11

Math.Ceiling (-1.4) == - 2 - che lingua è? Dimmi il suo nome in modo da poterlo evitare come la peste. –

+1

Oops, l'ho fregato. L'ho cercato, ma ho interpretato male l'esempio. –

0

Considerare 2.42, si può dire che è 242/100 btw è possibile semplificarlo a 121/50.

+2

Penso che mi stai prendendo in giro? Bene ... – markzzz

+1

la tua domanda non era chiara! Penso che tu intenda Math.Ceiling – mrbm

6
int scaled = (int)Math.Ceiling((double) 10/3) ; 
+4

Penso che tu abbia bisogno di lanciarlo affinché funzioni, ad esempio 'int scaled = (int) Math.Ceiling ((double 10/3);' –

Problemi correlati