Trabajo con symfony 2.4. Tengo un formulario con un campo number, el idioma es español, pero al usar la propiedad grouping para que me lo formatee con el separador de los millares y la coma decimal me pone 1,000.0 en lugar de 1.000,0. ¿Alguien sabe qué falla? Gracias
El campo del formularo es el siguiente:
->add('precioCompra', 'number', array('required' => false, 'precision' => '2', 'grouping' => true))
El fichero parameter.yml
locale: es
El fichero config.yml
framework: translator: { fallback: "%locale%" } default_locale: "%locale%"
Respuestas
Hola @abmelgarejo,
En muchos casos el problema no es de tu código sino de la configuración regional de la máquina, no si este sea tu caso pero para descartar, te sugiero que cambies por un momento la configuración regional.
Fue lo primero que se me ocurrió.
Saludos,
@miguelplazasr
Gracias @miguelplazasr por tu respuesta. He probado a cambiar el parámetro locale a es, en, fr y de y el valor que me devuelve app.request.locale es el correcto. Pero a la hora de mostrar cualquier valor numérico, pone como separador decimal el punto (.) Hago ésto en el controlador:
$decimal = (1/10); $log->addInfo('valor de $decimal '.$decimal);
y muestra 0.1, con independencia de lo que en la variable locale haya puesto.
He probado a borrar la cache por línea de comandos
$ php app/console cache:clear --env=dev $ php app/console cache:clear --env=prod
y manualmente, eliminando todas las carpetas del directorio app/cache y reiniciando posteriomente en Xampp y sigue mostrándome el . como separador decimal. :-(
@abmelgarejo
Hola @abmelgarejo,
Ya descartamos la configuración, reviste este par de enlaces, uno es sobre la función number_format de PHP y el otro es el filtro de Twig para number_format a ver si con eso puedes resolverlo.
Saludos,
@miguelplazasr
@miguelplazasr, en la plantilla twig uso number_format para mostrar los datos en un listado y funciona correctamente
<td> {{ producto.precioCompra |number_format(2, ',', '.') }}</td>
Pero en el formulario de edición del producto, no consigo ponerlo en el formato español. Incluso si intento guardar la coma (,) como separador decimal, me da error.
Un saludo
@abmelgarejo