2016-04-30 13 views
-1

Also, wenn ich die Nummer 3.5, hatte ich will es den Wert 3.Wie eine Dezimalzahl abrunden bis auf ganzzahlige

for(i=0;i<25;i++){ 
int a = i/5; 
} 

ich es will bekommen, so int a den Wert von i/5 nimmt, und rundet ab. Also, wenn i 6 ist, int a = 6/5 (1.2) und wird der Wert 1

+0

indem Sie 'i/5' machen und das einer ** Ganzzahl ** zuweisen, tun Sie genau das. genauer: der Divisionsoperator '/' für Ganzzahlen gibt die ganze Nummer des Produkts an. "3/2 = 1, 5/6 = 0, 2/1 = 2". –

Antwort

3

Haben Sie Ihren Code versucht? Das Teilen einer ganzen Zahl durch eine andere ganze Zahl funktioniert bereits wie das, was Sie beschrieben haben, d. H., Es wird jede dezimale Stelle entfernt, die wiederum "abgerundet" wird. In Ihrem Beispielcode wird i/5 niemals zu einem "Dezimal" (was durch float oder double dargestellt würde), es sei denn, Sie werfen zuerst einen der Werte auf float/double und speichern das Ergebnis als denselben Typ wie den Wert zu.

+0

wops ich habe nie realisiert danke – digeridoo

+0

@digeridoo kann es erstaunlich sein, was Sie entdecken können, wenn Sie den ersten Code ausprobieren, den Sie sich vorstellen können;) –