GTA-Center.com » Forum
http://www.gta-center.com/forums/

[GUIDA] Uso del float.inc
http://www.gta-center.com/forums/viewtopic.php?f=40&t=197
Pagina 1 di 1

Autore:  Angelo [ 03/11/2010, 11:30 ]
Oggetto del messaggio:  [GUIDA] Uso del float.inc

Raga in questa guida vi spiegherò l'uso delle funzioni contenute nel "float.inc"

Prima di iniziare vi spiegherò cosa è un float.

Un float è generalmente un numero decimale, cioè un numero con la virgola.

Per creare un float in pawno basterà mettere dopo il "new" la parola "Float:" esempio:

new Omg; (Questo non sarà un float, ma una variabile normale a cui verrà attribuito un valore in futuro.

new Float:Omg; (Questo sarà un float che potrà assumere come valore un numero decimale, come 6.3 oppure 2.7 ecc...)

Iniziamo con la guida:

1° "floatadd"

Il floatadd serve per sommare tra di loro due float (decimali), esempio

Codice:
new Float:x = 3.4;
new Float:y = 6.6;
new Float:xy = floatadd(x,y);
printf("La somma di x + y è %0.2f", Float:xy);


La somma di x + y sarà 10 e quindi verrà printato il numero 10.0


2° "floatsub"

Il floatsub serve per sottrarre tra loro due float, esempio:
Codice:
new Float:x=6.0;
new Float:y=4.0;
new Float:xy=floatsub(x,y);
printf("La differenza di x - y è %0.2f",Float:xy);


Quando aprirete sampserver nel dos apparirà la scritta "La differenza di x + y è 2.00"

3° "floatmul"

Il floatmul serve per moltiplicare tra loro due float, esempio:
Codice:
new Float:x=2.0;
new Float:y=7.0;
new Float:xy=floatmul(x,y);
printf("Il risultato di x * y è %0.2f",Float:xy);


Quando aprirete sampserver nel dos apparirà la scritta "Il risultato di x + y è 14.00"

4° "floatdiv"

Il floatdiv serve per dividere tra loro due float, esempio:
Codice:
new Float:x=90.0;
new Float:y=3.0;
new Float:xy=floatdiv(x,y);
printf("Il risultato di x : y è %0.2f",Float:xy);


Quando aprirete sampserver nel dos apparirà la scritta "Il risultato di x : y è 30.00"

5° "floatcmp"

Il floatcmp serve per vedere se due float sono uguali tra loro, esempio:

Codice:
new Float:x=90.0;
new Float:y=90.0;
if(floatcmp(x,y)==1)
{
printf("x e y comparano");
}


Quando aprirete sampserver nel dos apparirà la scritta "x e y comparano"

6° "floatabs"

Il floatabs restituisce un valore assoluto del float, cioè se un numero ha un segno(+ o -)
davanti ad esso, quest'ultimo viene tolto esempio:
Codice:
new Float:x=-10.0;
x=floatabs(x);
printf("%0.2f",Float:x);


Quando aprirete sampserver nel dos apparirà la scritta "10.00"

7° "floatlog"

Il floatlog restituisce il valore logaritmo del float, cioè il valore logaritmo aumenta di
0.04 per i numeri dispari e di 0.03 per quelli pari (10=1 , 11=1.04, 12=1.07), esso puo
essere utile per convertire prodotti in somme o rapporti in differenze, esempio
Codice:
new Float:x=10.0;
x=floatlog(x);
printf("%0.2f",Float:x);


Quando aprirete sampserver nel dos apparirà la scritta "1.00"

8° "floatpower"

Il floatpower restituisce il valore elevato alla potenza del float
Codice:
new Float:x=10.0;
new Float:we=floatpower(x,2);//2 è l'esponente della potenza
printf("%0.2f",Float:we);


Quando aprirete sampserver nel dos apparirà la scritta "100.00" perchè 10^2 è uguale a 10*10
cosìcome 10^3 è uguale a 10*10*10

9° "floatround"

Il floatround server ad arrotondare per eccesso o per difetto un float,
Codice:
new Float:x=4.3;
floatround(x,floatround_round);
printf("%0.2f",x);


Quando aprirete sampserver nel dos apparirà la scritta 4.00, perchè 4.3 è stato arrotondato per
difetto,
oltre al floatround_round , troviamo il floatround_floor (che arrotonda per eccesso la float), il
floatround_tozero (che arrotonda per eccesso i numeri positivi e per difetto quelli negativi) e il
floatround_ceil (che arrotonda per difetto la float)

10° "floatcos, floatsin e floattan "

Questi tre sono delle funzioni trigonometriche.
Il floatcos ritorna il coseno dell'angolo del float, il floatsin ritorna il seno
dell'angolo del float mentre il floattan ritorna la tangente dell'angolo del float,
non mi chiedete cosa sono ._. per approfondire:

http://it.wikipedia....no_(matematica)
http://it.wikipedia.org/wiki/Coseno
http://it.wikipedia....(trigonometria)

11° "floatsqroot"

Il floatsqroot restituisce la radice quadrata di una float, esempio:
Codice:
new Float:x=16;
x=floatsqroot(x);
printf("%0.2f",Float:x);


Quando aprirete sampserver nel dos apparirà la scritta "4.00" cioè la radice quadrata di 16

12° "floatstr"

Il floatstr converte una stringa in un float
Codice:
public OnPlayerConnect(playerid)
{
new before[4];
format(before,4,"%d"playerid);
printf("%0.2f",floatstr(before));
return 1;
}


Quando aprirete sampserver verrà scritto nel dos l'id del player, cioè l'id del player
appena connesso verrà convertito in una float, esempio se l'id è 4 verrà convertito in 4.00

13° floatfract

Il floatfract returna la parte decimale di un numero float, per esempio:
Codice:
new Float:x = 14.34;
new Float:fx = floatfract(x);
printf("%0.2f", fx);


fx sarà uguale a 0.34

P.s. alcune di queste funzioni le ho tradotte dal wiki tra queste ci sono:

il floatcos, il floatsin, il floattan e il floatlog.

Spero sia stata utile Thx

Aggiungo una funzione creata da me, l'ho chiamata floatprc

restituisce la percentuale tra due float
Codice:
new Float:x=50;//numero
new Float:y=50;//percentuale da trovare
new Float:result;
result=floatprc(x,y);
printf("Il 10 per cento di 100 è %0.2f",Float:result);


per usarlo in cima mettete questo
Codice:
#define floatprc(%1,%2) floatdiv(floatmul(%1,%2),100)

Autore:  Giuseppe_Mazzei [ 03/11/2010, 13:31 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Inserito nella lista delle guide ;)

Autore:  SNaKe_OlD [ 03/11/2010, 14:39 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

bella guida, bravo

Autore:  MoND [ 03/11/2010, 14:51 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Bravo Angelo

Autore:  Giovanni94m [ 03/11/2010, 15:14 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

bella guida angelo ;)

Autore:  Peppinux AKA Peppe_Stasu [ 03/11/2010, 15:48 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Bella Angelo ;)

Autore:  Angelo [ 03/11/2010, 22:17 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Grazie a tutti :)

Autore:  barletheking [ 04/11/2010, 16:40 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

la guida è stata ricopiata da un forum che non cito per spam.

Autore:  Angelo [ 04/11/2010, 17:00 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

si lo so infatti l'ho postata in 3 forum in uno col nome di Angelo_95 in un altro col nome di Mr.Fabri e in questo col nome di Angelo

Autore:  barletheking [ 04/11/2010, 17:05 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

aa allora sei Fabri xD wee xD

Autore:  Angelo [ 04/11/2010, 17:07 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Lol

Autore:  Peppinux AKA Peppe_Stasu [ 04/11/2010, 17:10 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

Barle prima di accusare assicurati dei nick XDDD

Autore:  barletheking [ 04/11/2010, 17:11 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

si ma che lol se qua si chiama angelo come posso sospettare che era fabri xD

Autore:  Peppinux AKA Peppe_Stasu [ 04/11/2010, 17:53 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del float.inc

xD Comunque stop OT :asd:

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/