Foros del Web » Programando para Internet » PHP »

number_format o money_format y mysql ?

Estas en el tema de number_format o money_format y mysql ? en el foro de PHP en Foros del Web. devuelvo de la base de datos 20.20 € después si hago cálculos y me sale decimales como number_format(20,20,2,',','.') 20,20 3148.4375 number_format(3148.4375,2,',','.') 3.148,43 otra cosa los ...
  #1 (permalink)  
Antiguo 22/09/2011, 03:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 9 meses
Puntos: 1
number_format o money_format y mysql ?

devuelvo de la base de datos 20.20 €
después si hago cálculos y me sale decimales como

number_format(20,20,2,',','.')
20,20

3148.4375

number_format(3148.4375,2,',','.')
3.148,43

otra cosa los cálculos tiene que ser como . o con , lo digo por si se vera afectado el resultado


20.20 *(125*15)
o
20,20 * (125*15)

en españa usamos la // notación francesa no ?




20.20€ kilo

number_format( 20.20, 2, ',', '.' )
parámetros
1-valor o variable
2- decimales
3- valor de separación de decimales
4- separador de miles

en este caso el valor nunca llegara a 1.000 €, no tendría que poner el . en el 4 parámetro, pero por lo que veo esta función permite poner 1,2 o 4 parámetros supongo que tendré de poner ' ' sin el . dentro

pero pongo el punto por si nunca cambia y puede pasar de 1.000 €
20,20

-----------------------------------------------------------------------------------------------------------------------
en este otro caso 18750 gramos, tendría que poner el valor en decimales en el 2 parámetro (0), y en el 3 parámetro ' ' no necesita separador de decimales, en cambio si puede necesitar el 4 parámetro el separador de miles
number_format( 18750, 0, ' ', '.' )

18.750 gramos
-----------------------------------------------------------------------------------------------------------
en este otro caso 377.8125 euros, tendría que poner el valor en decimales en el 2 parámetro (2), y en el 3 parámetro ',' necesita separador de decimales, también voy a cambiar el 4 parámetro en un . Aun que es poco probable que se utilize

number_format( 377.8125, 2, ',', '.' )


377,81 €



el precio producto kg es mejor guardar en decimal o float o doble?

disponible_producto ENUM('si','no') NOT NULL,

precio_producto_kg DECIMAL(4,2) NOT NULL,
20,20 0,01-99,99
ración_por_persona_gr SMALLINT(3) UNSIGNED NOT NULL, 125 gramos 1-999 gramos

Última edición por albertrc; 23/09/2011 a las 03:05
  #2 (permalink)  
Antiguo 23/09/2011, 06:40
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: number_format o money_format y mysql ?

Hola albertrc, los cálculos que realizas en PHP o MySQl los haces SIN formato.
Las funciones que comentas aplican formato a un número o cadena pero eso es sólo el output.
Tal como comenta el manual : Utilizar setlocale() para establecer la configuración regional predeterminada apropiada antes de usar esta función.
Idealmente guardas todo como int, double, float, etc y luego formateas la salida,
Salu2
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.