簡體   English   中英

如何使用 bash 腳本舍入十進制值?

[英]How to round decimal values with bash script?

運行一些代碼后,我確實得到了這個 4D 數組,它保存在一個 txt 文件中,值很長,所以我需要將它們四舍五入到小數點后 6 位,更改應該在原始文件中完成,所以我可以數組的相同格式不只是打印值

這里是數組的一部分

[[[[-0.027340000495314598, -0.07065500319004059, 0.06236099824309349, -0.11684399843215942, -0.05784200131893158], [-0.16122999787330627, -0.14122700691223145, -0.1653739959001541, 0.1630070060491562, 0.05366099998354912], [0.035610001534223557, -0.05879399925470352, 0.06178700178861618, 0.15509599447250366, -0.11066299676895142], [-0.006271999794989824, -0.04911699891090393, -0.06760299950838089, -0.005801999941468239, 0.02808699943125248], [-0.1022690013051033, -0.08862099796533585, 0.14321200549602509, -0.00038400001358240843, 0.10744699835777283]]
$ echo '[[[[-0.027340000495314598, -0.07065500319004059, 0.06236099824309349' |
    perl -pe 's/([-+]?[0-9]*\.[0-9]+|[0-9]+)/sprintf "%.6f","$1"/ge'
[[[[-0.027340, -0.070655, 0.062361

您可以為此使用 printf。 我在這里找到了一個例子

printf "%.*f\n" 6 "-0.027340000495314598"

將返回 -0.027340。 6 代表要打印的位數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM