SA-MP Forums Archive
[DUDA] Redondear - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [DUDA] Redondear (/showthread.php?tid=482899)



[DUDA] Redondear - ValenRatti - 23.12.2013

Hola, si el resultado de una cuenta me da un valor con muchos decimales y lo quiero redondear a dos decimales como: 0.5312647 ,redondeado a 0.53. Como hago eso en pawn?


Respuesta: [DUDA] Redondear - Swedky - 23.12.2013

pawn Код:
%0.2f
Creo que asн serнa.


Re: [DUDA] Redondear - ValenRatti - 23.12.2013

Y donde pongo eso xD? En el format?


Respuesta: Re: [DUDA] Redondear - Swedky - 23.12.2013

Quote:
Originally Posted by ValenRatti
Посмотреть сообщение
Y donde pongo eso xD? En el format?
Sн, por ej:

pawn Код:
CMD:mivida(playerid, params[])
{
    new string[22];
    new Health = GetPlayerHealth(playerid, Health);
    format(string, sizeof(string), "* Tu vida es: %0.2f.", Health);
    return 1;
}
Creo que serнa asн :P.


Re: [DUDA] Redondear - ValenRatti - 23.12.2013

Si, pero lo que necesito es que me devuelva el valor en integer para seguir haciendo cuentas , el format lo devuelve en string.


Respuesta: [DUDA] Redondear - JustBored - 23.12.2013

pawn Код:
new cadena1[30], Float:vida, cadena2;
format(cadena1, sizeof(cadena1), "%0.2f", GetPlayerHealth(playerid, vida));
cadena2 = strval(cadena1);



Respuesta: [DUDA] Redondear - Jovazxc - 23.12.2013

Quote:
Originally Posted by JustBored
Посмотреть сообщение
pawn Код:
new cadena1[30], Float:vida, cadena2;
format(cadena1, sizeof(cadena1), "%0.2f", GetPlayerHealth(playerid, vida));
cadena2 = strval(cadena1);
pawn Код:
new cadena1[30]; new Float:vida; new Float:cadena2;
GetPlayerHealth(playerid, vida);
format(cadena1, sizeof(cadena1), "%0.2f", vida);
cadena2 = floatstr(cadena1);



Respuesta: [DUDA] Redondear - MugiwaraNoLuffy - 23.12.2013

Usa floatround.
Hay varios metodos para redondear con esa funciуn.
floatround_round Redondea el nъmero entero mбs cercano.
floatround_floor Redondea hacia abajo.
floatround_ceil Redondea hacia arriba.
floatround_tozero Redondea para abajo para valores positivos y para arriba para valores negativos.