Anzeige Zahl auf zwei Dezimalstellen in der bash-Funktion

Wie soll ich eine Zahl nehmen, die in hundreths Sekunden, und zeigen Sie es in Sekunden mit zwei Nachkommastellen? Pseudo-code zu Folgen, der dTime-Funktion bin ich nicht sicher, aber Sie bekommen, was ich bin mit dem Ziel für, denke ich.

function time {
    echo "$(date +%N)/10000000"
}

function dTime {
    echo "($1/100).(${$1:${#1}-3:${#1}-1})"
}

T=$time
sleep 2
T=$dTime T
  • bash führt nur integer-Arithmetik. Deine Frage ist etwas irreführend, da Sie Fragen über die Anzeige eine Zahl mit zwei Dezimalstellen, und der code, den Sie zeigen deutlich, führt Gleitkomma-Arithmetik.
  • Verwenden Sie [printf][1] und Huckepack auf lange getestet. [1]: stackoverflow.com/questions/4377871/sprintf-in-shell-scripting
InformationsquelleAutor Neilos | 2012-11-29
Schreibe einen Kommentar