[Tutorial] Funciones float
#1

[Tutorial] Funciones float
Hecho por MrDeath



- Introducciуn:
Bueno, estaba aburrido y vн que no habнa ningъn posteo sobre funciones Float (o por lo menos en la secciуn en espaсol) y me decidн a hacer uno, ya que son funciones ъtiles, que no muchos las conocen.



- Requerimientos:
Necesitaremos tiempo y ganas de aprender, ademбs de conocimientos de matemбticas para algunas funciones.


- Funciones:
Код:

floatstr

Funciуn:
Convertir el nъmero de un texto a un valor float.

Uso:
Si por ejemplo tenemos una variable llamada string y contiene el texto "0.008" y lo queremos convertir a valor Float para poder usarlo
en una operaciуn matemбtica usamos floatstr.

Ejemplo:
new String[8], Float:Convertido;
format(String, sizeof(String), "0.008");
Convertido = flaotstr(String);

Код:

floatmul

Funciуn:
Multiplicar 2 nъmeros.

Uso:
Se usa para multiplicar 2 nъmeros, si por ejemplo queremos saber cuбnto es 20 por 20 podemos usar floatmul, o tambiйn usar "20 * 20"

Ejemplo:
new String[50];
format(String, sizeof(String), "20 por 20 es %i", floatmul(20, 20);
SendClientMessage(playerid, 0xFFFF00FF, String);

Код:

floatdiv

Funciуn:
Dividir 2 nъmeros.

Uso:
Si queremos saber el radio de Asesinatos sobre Muertes del jugador, podemos dividirlo usando floatdiv o tambiйn haciendo
"Asesinatos / Muertes".

Ejemplo:
new String[50];
format(String, sizeof(String), "Tu radio es %0.3f", floatdiv(Asesinatos, Muertes));
SendClientMessage(playerid, 0xFFFF00FF, String);

Код:

floatadd

Funciуn:
Sumar.

Uso:
No se necesita dar una explicaciуn ya que es una simple suma.

Ejemplo:
new String[50], Paga;
Paga = 1000;
format(String, sizeof(String), "Tu prуxima paga serб de $%i", floatadd(GetPlayerMoney(playerid), Paga));
SendClientMessage(playerid, 0xFFFF00FF, String);

Код:

floatsub

Funciуn:
Restar.

Uso:
No se necesita dar una explicaciуn ya que es una simple resta.

Ejemplo:
new String[50];
format(String, sizeof(String), "Hay %i slots disponibles.", floatsub(GetMaxPlayers(), PlayersOnline));
SendClientMessage(playerid, 0xFFFF00FF, String);

Код:

floatfract

Funciуn:
Obtener el nъmero fraccional de un nъmero.

Uso:
Esta funciуn no tengo muy claro el uso, pero tratarй de dar una explicaciуn breve; se usa para obtener el
nъmero fraccional de otro nъmero. Aclaro que nunca usй esta funciуn.

Ejemplo:
printf("Fraccional de 3456,27: %f", floatfract(3456.27)); // Darб 0,27

Код:

floatround

Funciуn:
Redondear un nъmero.

Mйtodos:
- floatround_round: Redondea al valor mбs cercano
- floatround_floor: Redondea al menor.
- floatround_ceil: Redondea al mayor.
- floatround_tozero: Redondea al nъmero mбs cercano a 0. (Jamбs lo usй)

Uso:
Por ejemplo se puede usar para convertir un nъmero de formato Float a Integer (entero).

Ejemplo:
new Float:MiNumero, MiNumero2;
MiNumero = 10.0;
MiNumero2 = floatround(MiNumero, floatround_round);

Код:

floatsqroot

Funciуn:
Sacar la raнz cuadrada de un nъmero.

Uso:
Se usa para sacar la raнz cuadrada de un nъmero, generalmente para operaciones de distancia, velocidad, etc.

Ejemplo:
printf("La raнz cuadrada de 100 es %f", floatsqroot(100));

Код:

floatpower

Funciуn:
Potenciar un nъmero.

Uso:
Se usa para potenciar un nъmero, por ejemplo en operaciones de cбlculo de distancias se usa convinada con floatsqroot.

Ejemplo:
printf("10 al cuadrado es %f", floatpower(10, 2));

Код:

floatsin

Funciуn:
Obtener el seno de un valor.

Mйtodos:
- radian: Бngulo en medida radianes.
- grades: Бngulo en medida centecimal de grados.
- degrees: Бngulo en medida sexagecimal de grados.

Uso:
Se usan en operaciones para obtener бngulos y ese tipo de cosas.

Ejemplo:
printf("El seno de 57 grados es %f", floatsin(57, degrees));

Код:

floatcos

Funciуn:
Obtener el coseno de un valor.

Mйtodos:
- radian: Бngulo en medida radianes.
- grades: Бngulo en medida centecimal de grados.
- degrees: Бngulo en medida sexagecimal de grados.

Uso:
Se usa para obtener el Coseno de un nъmero, generбlmente se usa en funciones para obtener бngulos y ese tipo de cosas.

Ejemplo:
printf("El coseno de 32 grados es %f", floatcos(32, grades));

Код:

floattan

Funciуn:
Obtener la tangente de un valor.

Mйtodos:
- radian: Бngulo en medida radianes.
- grades: Бngulo en medida centecimal de grados.
- degrees: Бngulo en medida sexagecimal de grados.

Uso:
Se usa para obtener el Tangente de un nъmero, casi siempre se usa en funciones para obtener бngulos y ese tipo de cosas.

Ejemplo:
printf("La tangente de 89 grados es %f", floattan(32, degrees));

Код:

floatabs

Funciуn:
Obtener el absoluto de un nъmero.

Uso:
Se usa para obtener el entero de un nъmero.

Ejemplo:
printf("El absoluto de 4.3 es %i", floatabs(4.3));



- Crйditos
Un agradecimiento a Zamaroht por ayudarme con algunas funciones.
SA-MP Wiki por poner la informaciуn de la cuбl aprendн.




- Final
Allн les dejй las funciones float para poder usarlas en sa-mp. No puse la funciуn del logaritmo porque realmente no tengo la mбs mнnima idea de cуmo es (xDD). Espero que les sean ъtiles y que hallan entendido.
Cualquier duda o si ven un error avisen.

Saludos
Reply
#2

Muy Buen Tuto MrDeath... Se Agradece de Nuevo...

Estoy es muy Util =) y algo Importante en el Script =D...!
Reply
#3

Muy bienn, algien que sabe de mucha matematica XDD
Reply
#4

muy bueno saque algunas cosillas para una funcion
Reply
#5

Gracias por los comentarios.



Quote:
Originally Posted by FlowMen
muy bueno saque algunas cosillas para una funcion
Me alegro que te halla servido.




Quote:
Originally Posted by AdonisxD
Muy bienn, algien que sabe de mucha matematica XDD
Na, no sй tanto, sуlo sй quй hacen las funciones y mбs o menos cуmo usarlas.
Reply
#6

Matemбticas puras, muy bueno.

Pd: como te aburres cuando yo trabajo
Reply
#7

Exelente Mrdeath, serias buen scripter C++ o PHP, que se usan muchos estas funciones.
Reply
#8

muy buen tuto che. despues cuando ande con mas tiempo lo agrego a la lista.
Reply
#9

Como se puede hacer para pasar de float a int, llevo un buen rato mirando la wiki y no veo nada

Quiero por ejemplo si tengo en float 32.52374 que sean 32 en int sin decimales ni nada, alguna idea?

No vale ni redondear ni nada, tiene que ser int a la fuerza si no el script no lo acepta
Reply
#10

Quote:
Originally Posted by mark.18
Посмотреть сообщение
Como se puede hacer para pasar de float a int, llevo un buen rato mirando la wiki y no veo nada

Quiero por ejemplo si tengo en float 32.52374 que sean 32 en int sin decimales ni nada, alguna idea?

No vale ni redondear ni nada, tiene que ser int a la fuerza si no el script no lo acepta
Podйs remplazar por ejemplo "cordenadaX" por "floatround(cordenadaX, floatround_round)"...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)