Zaokrąglanie floatu
A może sma?
04.08.2011
Siema
Jak powinna wyglądać ta funkcja w praktyce:
Dokumentacja AMXX.pl: Core >> float > floatround
Chodzi mi o zaokrąglanie w dół.
Czy to jest poprawne?
Czy może tak:
Jak powinna wyglądać ta funkcja w praktyce:
Dokumentacja AMXX.pl: Core >> float > floatround
Chodzi mi o zaokrąglanie w dół.
Czy to jest poprawne?
wartosc[id] = float(punkty[id]/50)
floatround(wartosc[id], floatround_floor)
Czy może tak:
wartosc[id] = float(punkty[id]/50)
floatround(Float:wartosc[id], floatround_method:method=floatround_floor)
R3X
04.08.2011
new zaokraglone = floatround(wartosc[id], floatround_floor);
w podanym kodzie masz błąd
wartosc[id] = float(punkty[id]/50)dzielenie całkowite daje wynik całkowity, np. 25/50 to 0, a 75/50 to 1
żeby otrzymał ułamek musisz dokonać konwersji zanim podzielisz
wartosc[id] = float(punkty[id])/50.0
jak dzielisz przez stałą to raczej pomnóż przez jej odwrotność (1/50 = 0.02)
wartosc[id] = float(punkty[id])*0.02mnożenie jest szybsze
A może sma?
04.08.2011
Oki, oki
A to nie jest tak, że mnożenie i dzielenie ma taką samą szybkość? W końcu to to samo tylko, że odwrotnie
Yyy... A jak jest funkcja float(10) to ona zamienia 10 na 10.0, tak?
Jest coś odwrotnego do tego?
I tego... Zaokrąglona liczba wygląda tak: 1.0 czy tak: 1? I jeszcze jedno: to zapisuję od razu tą liczbę czy tylko ją zwraca?
Użytkownik kisiel96 edytował ten post 04.08.2011 18:36
A to nie jest tak, że mnożenie i dzielenie ma taką samą szybkość? W końcu to to samo tylko, że odwrotnie
Yyy... A jak jest funkcja float(10) to ona zamienia 10 na 10.0, tak?
Jest coś odwrotnego do tego?
I tego... Zaokrąglona liczba wygląda tak: 1.0 czy tak: 1? I jeszcze jedno: to zapisuję od razu tą liczbę czy tylko ją zwraca?
Użytkownik kisiel96 edytował ten post 04.08.2011 18:36
R3X
04.08.2011
Hmm w sumie to myślałem o procesorze, a koprocesor chyba też szybciej mnoży niż dzieli.
zaokrąglanie zmienia floata na liczbę całkowitą, wynik jest zwracany; z podaną liczbą rzeczywistą nic się nie dzieje
new Float:dziesiec = float(10); //new Float:dziesiec = 10.0;
tak, zaokrąglanieJest coś odwrotnego do tego?
zaokrąglanie zmienia floata na liczbę całkowitą, wynik jest zwracany; z podaną liczbą rzeczywistą nic się nie dzieje
new zaokraglone = floatround(wartosc[id], floatround_floor);