2010-08-02 13 views
10

Mam zmienną jak float num = (x/y); Muszę zaokrąglić wynik, ilekroć liczba daje wynik podobny do 34.443. Jak to zrobić w języku C#?Jak zaokrąglić liczbę

Odpowiedz

25

Zastosowanie Math.Ceiling:

Zwraca najmniejszą liczbę całkowitą większą niż lub równa określonej liczbie

Zauważ, że to działa w grze podwójnej, więc jeśli chcesz pływaka (lub liczbę całkowitą) będziesz musiał rzucić.

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

Jeśli zarówno '' y' x' i są liczbami całkowitymi, zostaną obcięte. – Zaz

+0

@ Joshem: To prawda. Zakładałem, że PO ma już pływaki, ponieważ wynik to 34.443, ale zdecydowanie warto to wyraźnie stwierdzić. – Quartermeister

+0

Sufit lub podłoga zgodnie z wymaganiem ... –

2

Zastosowanie Math.Ceiling jeśli chcesz całkowitą większą niż odpowiedź, lub Math.Floor jeśli chcesz liczbę całkowitą mniejszą niż odpowiedzi.

Przykład

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

Zastosowanie cokolwiek jest wymagane dla danego przypadku.

+0

+1 ładny ......... –

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

Jeśli użyjemy funkcji Math.Round, możemy określić brak miejsc do zaokrąglenia.

+0

'Math.Ceiling' -" Muszę zaokrąglić ** w górę ** ... " – Zaz

1

jeśli potrzebujesz 2 po przecinku, można yo użyć czegoś takiego:

float roundedvalue = (float)Math.Ceiling(x*100/y) /100; 
float roundedvalue = (float)Math.Floor(x*100/y) /100; 
Powiązane problemy