Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Urywanie 0.1 z float.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 NiczegoWinien

    Wszechpomocny

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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 ?


  • +
  • -
  • 0

#2 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

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


  • +
  • -
  • 1

#3 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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

  • +
  • -
  • 0

#4 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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.


  • +
  • -
  • 0

#5 Oddaj Wiertarke

    Profesjonalista

  • Użytkownik

Reputacja: 74
Pomocny

  • Postów:164
  • Imię:Matico
  • Lokalizacja:Wieś
Offline

Napisano 19.01.2016 10:26

Pomnóż przez 10, zapisz jako zwyklego inta a przy odczytywaniu podziel przez 10 i powinien ci wyjsc float


  • +
  • -
  • 2

#6 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 19.01.2016 20:32

A jakis zwykly zapis bez wykonywania tego ?


  • +
  • -
  • 0

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

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 :)


  • +
  • -
  • 1

#8 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

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ą  ;P

A tak serio, OddajWiertarkę zaproponował bardzo dobre rozwiązanie. JEdnak jak pokażesz kod to może uda się znaleźć kolejne.


  • +
  • -
  • 2

#9 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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

  • +
  • -
  • 0

#10 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • Lokalizacja:Polska
Offline

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;
}

  • +
  • -
  • 1

#11 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 22.01.2016 11:32

Ale to do wszystkich wyników z tablicy mam dodać?
  • +
  • -
  • 0

#12 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 22.01.2016 19:34

Dla bezpieczeństwa do wszystkich.


  • +
  • -
  • 1

#13 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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 ?


  • +
  • -
  • 0

#14 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

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...


  • +
  • -
  • 0

#15 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 23.01.2016 17:52

Nie pomyślałem o tym że można dodać 0.00001 tylko do wyświetlania bo z tego co kojarze to za kupno itemu zabiera poprawnie. Grankee właśnie mi potrzebny jest float właśnie dla poldolarowek :)
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych