Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

356
Vistas
Postgres converting double double precision to text creates '1.50000000000'

Working with postgres and I need to convert total minutes into the format of 1h 1m.

I'm doing this via the following code

replace(
    (119 / 60 + (119 % 60) / 100.0)::text, 
    '.', 
    'h '
) + 'm'

which returns 1h 59000000000000000000m

119 is just an example amount of minutes I've added, but this would be set on a larger query that would do

(accumulated_minutes / 60 + (accumulated_minutes % 60) / 100.0)::text, 

is there a way to convert this to text without adding the extra precision?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Let the database do the heavy lifiting for you! You can turn the number of minutes to an interval datatype, and use to_char() for formating:

to_char(make_interval(mins => accumulated_minutes), 'hh24"h" mi"m"')

Demo on DB Fiddle:

select to_char(make_interval(mins => 119), 'hh24"h" mi"m"') val
| val     |
| :------ |
| 01h 59m |

If you want to suppress the leading 0s on hours and minutes, then:

to_char(make_interval(mins => accumulated_minutes), 'fmhh24"h" fmmi"m"') val
over 4 years ago · Santiago Trujillo Denunciar

0

You may try first casting the quotient or modulus to integer, then casting to text after that, e.g.

SELECT (119 / 60)::int::text || 'h ' || (119 % 60)::int::text || 'm';

This outputs 1h 59m.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda