Ich habe eine Gleitkommazahl in der Variable $temp gespeichert, etwa 3,046789. Wie können wir diese Zahl mit einer Genauigkeit von 2 Ziffern runden und das gewünschte Ergebnis ist 3,05. Das Skript, das ich habe, ist ein CSH-Skript.
Antwort1
Sie können den Befehl verwendenprintf
um Zahlen auf viele Arten zu formatieren, genau wie mit der C-Funktion printf()
:
Um es unabhängig von der verwendeten Shell zu machen, führen Sie aus/usr/bin/printf
$ LC_ALL=C /usr/bin/printf '%.2f\n' 3.046789
3.05
Die Syntax des Formats wird in der Manpage der Bibliotheksfunktion beschrieben:man 3 printf
.
Ich bin mir nicht sicher über die Variablenbehandlung in csh
.
Darüber hinaus printf
kann es als in die Shell integrierter Befehl verfügbar sein, der dasselbe tut wie in Bash.