Como manter os números decimais originais sem arredondar

Como manter os números decimais originais sem arredondar

Estou tentando calcular a soma da distância percorrida e ela é calculada perfeitamente no arquivo de texto. No entanto, os resultados seriam arredondados para 4 casas decimais

Por exemplo, sempre que tentei somar 10,1361234 e 10,1461621 metros do Registro de Distância, em vez de mostrar o resultado original de 20,2822855, o resultado será arredondado conforme mostrado abaixo

distância total.txt

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

DistânciaLog.txt

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

No entanto, eu queria manter os valores decimais originais sem arredondar. Há alguma forma de fazer isso? Anexado abaixo está meu 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"

Obrigado!

Responder1

Se você olhar noestranhopágina de manual, o padrãoestranho OFMTé %.6g(6 especificou o número de dígitos significativos); você pode alterar para .6fespecificar o número de dígitos após o decimal ou %fsem limite. então:

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

informação relacionada