Mam pewien problem poniewaz w tablicy mam pewna wartosc przyklad 25.0
Wyswietalm ja w menu poniewaz to jest cena przedmiotu i pokazuje mi 24.9... Dlaczego ?
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 17.01.2016 14:23
Mam pewien problem poniewaz w tablicy mam pewna wartosc przyklad 25.0
Wyswietalm ja w menu poniewaz to jest cena przedmiotu i pokazuje mi 24.9... Dlaczego ?
Napisano 17.01.2016 16:30
Ostatnio też się na tym zastanawiałem, ale zignorowałem to i ustawiłem sobie liczbę o 1 większą i tak jak chciałem pokazywało;D
http://amxx.pl/dokum...f944/floatround
Napisano 17.01.2016 18:54
No wlasnie w tym problem poniewaz mam w tablicy 4 elementy i 3 dobrze pokazuje a tylko ten jeden zle ;/ moze to blad jest w wyswietlaniu bo korzystam z tego :
%0.1f
Napisano 19.01.2016 00:49
Wie ktos moze jak poprawnie zapisac float do vault i jak poprawnie odczytac poniewaz tak samo mi urywa koncowki jak z tablicy.
A mi zalezy na tym aby pokazywalo mi w hud przykladowo 25.8. Tak zapisana jest kasa gracza.
Napisano 19.01.2016 10:26
Pomnóż przez 10, zapisz jako zwyklego inta a przy odczytywaniu podziel przez 10 i powinien ci wyjsc float
Napisano 19.01.2016 20:32
A jakis zwykly zapis bez wykonywania tego ?
Napisano 20.01.2016 12:25
Liczby zmiennoprzecinkowe mają skończoną dokładność sposób z mnożeniem i dzieleniem przez 10 jest ciekawym rozwiązaniem pokaż więcej kodu może coś poradzimy więcej
Napisano 20.01.2016 20:14
Mam pewien problem poniewaz w tablicy mam pewna wartosc przyklad 25.0
Wyswietalm ja w menu poniewaz to jest cena przedmiotu i pokazuje mi 24.9... Dlaczego ?
Nie wiesz? Chwyt marketingowy, ceny już od wielu lat wszędzie tak wyglądają
A tak serio, OddajWiertarkę zaproponował bardzo dobre rozwiązanie. JEdnak jak pokażesz kod to może uda się znaleźć kolejne.
Napisano 20.01.2016 22:02
new const Float:koszt_balla[] = {0.0,10.0,25.0,50.0,100.0}
case 0: { new pb[60]; new gb[60]; new sb[60]; new ub[60]; new tytul[25]; format(pb, 59, "PokeBall [$%0.1f/szt.])",koszt_balla[1]); format(gb, 59, "GreatBall [$%0.1f/szt.])",koszt_balla[2]); format(sb, 59, "SuperBall [$%0.1f/szt.])",koszt_balla[3]); format(ub, 59, "UltraBall [$%0.1f/szt.])",koszt_balla[4]); format(tytul, 24, "Wybor Balla"); new menu = menu_create(tytul, "KupBalle_Handler"); menu_additem(menu, pb); menu_additem(menu, gb); menu_additem(menu, sb); menu_additem(menu, ub); menu_display(id, menu); }
Nr 1,3,4 pokazuje ok.. tylko problem jest z 25
Użytkownik NiczegoWinien edytował ten post 20.01.2016 22:04
Napisano 22.01.2016 10:29
Standardowy problem, ja dodawałem sobie 0.000001
Ew spróbuj tego
stock Float:round(Float:value, decimals) { new Float:p = float(power(10, decimals)); return float(floatround(value * p, floatround_floor)) / p; }
Napisano 22.01.2016 11:32
Napisano 22.01.2016 19:34
Dla bezpieczeństwa do wszystkich.
Napisano 23.01.2016 00:12
A jeszcze jedno pytanie bo nie jestem pewien.
Jezeli koszt itemu to 25 a dodam 0.00001 to gracza majac dokladnie 25 nie kupi tej rzeczy ?
Napisano 23.01.2016 15:56
Nie prościej zrezygnować z floatów i podawać ceny w całości? Przecież w cs i tak nie ma półdolarówek itp...
Napisano 23.01.2016 17:52
0 użytkowników, 0 gości, 0 anonimowych