Cómo mantener los números decimales originales sin redondearlos

Cómo mantener los números decimales originales sin redondearlos

Estoy intentando calcular la suma de la distancia recorrida y se calcula perfectamente en el archivo de texto. Sin embargo, los resultados se redondearían a 4 decimales.

Por ejemplo, cada vez que intenté sumar 10.1361234 y 10.1461621 metros desde el Registro de distancia, en lugar de mostrar el resultado original de 20.2822855, el resultado se redondeará como se muestra a continuación.

distancia total.txt

2021-04-09 13:44:26 Total distance: 20.2823 meters

DistanciaRegistro.txt

2021-04-09 12:31:55 Distance travelled: 10.1361234 meters
2021-04-09 12:31:55 Distance travelled: 10.1461621 meters

Sin embargo, quería mantener los valores decimales originales sin redondearlos. ¿Hay alguna forma de hacerlo? Adjunto a continuación está mi código

#!/bin/bash

SUM=0;


<DistanceLog.txt >> totaldistance.txt awk '{ SUM+=$6 } END{ print date_time,echo"Total distance:", SUM,distance }' date_time="$(date +'%F %T')" distance="meters"

¡Gracias!

Respuesta1

Si miras en elawkpágina de manual, la predeterminadaawk OFMTes %.6g(6 especifica el número de dígitos significativos); puede cambiar para decir .6fque especifica el número de dígitos después del decimal, o %fsin límite. entonces:

<infile >>outfile awk '{ SUM+=$5 }
END{ OFMT="%.6f"; print date_time, "Total distance:", SUM, distance }' \
     date_time="$(date +'%F %T')" distance="meters"

información relacionada