convertir milisegundos a horas minutos y segundos javascript
Cómo convertir milisegundos a segundos con precisión. (3)
Quiero convertir de milisegundos a segundos (por ejemplo 1500ms a 1.5s, o 500ms a 0.5s) con la mayor precisión posible.
Double.parseDouble(500 / 1000 + "." + 500 % 1000);
no es la mejor manera de hacerlo: estoy buscando una manera de obtener el resto de una operación de división, así que simplemente puedo agregar el resto.
¿Por qué no simplemente lo intentas?
System.out.println(1500/1000.0);
System.out.println(500/1000.0);
Seguramente solo necesitas:
double seconds = milliseconds / 1000.0;
No hay necesidad de hacer manualmente las dos partes por separado, solo se necesita aritmética de punto flotante, lo que 1000.0
al uso de 1000.0
(como double
literal). (Supongo que el valor de milliseconds
es un número entero de alguna forma).
Tenga en cuenta que, como suele ocurrir con el double
, es posible que no pueda representar el resultado exactamente. Considera usar BigDecimal
si quieres representar 100ms como 0.1 segundos exactamente . (Dado que es una cantidad física, y los 100 ms no serían exactos en primer lugar, es probable que sea un double
, pero ...)
También tuve este problema, de alguna manera mi código no presentaba los valores exactos pero redondeaba el número en segundos a 0.0 (si los milisegundos estaban por debajo de 1 segundo). Lo que me ayudó es agregar el decimal al valor de la división.
double time_seconds = time_milliseconds / 1000.0; // add the decimal
System.out.println(time_milliseconds); // Now this should give you the right value.