数値を小数点第2位に四捨五入する必要があります。今のところ、次は私が推測する最も近い整数に丸めます
puts [expr {round($total_rate)}]
以下のようなことをするとうまくいきません。別の方法はありますか?
puts [expr {round($total_rate,2)}]
expr {double(round(100*$total_rate))/100}
例
% set total_rate 1.5678
1.5678
% expr {double(round(100*$total_rate))/100}
1.57
% set total_rate 1.4321
1.4321
% expr {double(round(100*$total_rate))/100}
1.43
特定の小数点以下の桁数に丸める最も簡単な方法は、format
を使用することです。
puts [format "%.2f" $total_rate]
ユーザーに表示する代わりに、さらに計算するために丸められた値を使用している場合、[〜#〜] x [〜#〜]小数点以下の桁数に丸めて印刷するほとんどの値はそうではないことに注意してください。バイナリ演算で正確に表現されます(他の多数のプログラミング言語と同様に、Tclは内部で使用します)。人々に価値を示しているポイントまで、特定の数のDPへの丸めを予約するのが最善です。
puts [format "%.2f" $total_rate]
Formatを使用すると、出力で結果を確認できますが、プログラムで同じ値を使用する方法、つまり、出力で1.448を1.45と表示できますが、プログラムで1.45を使用できます。