[DUDA] Redondear
#1

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?
Reply
#2

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

Y donde pongo eso xD? En el format?
Reply
#4

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.
Reply
#5

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

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

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);
Reply
#8

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


Forum Jump:


Users browsing this thread: 1 Guest(s)