Curl Global Community

Full Version: 小数点以下の四捨五入について
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
こんにちは。

現在、小数点以下の桁数をそろえたくて、formatマクロを利用しているのですが、
例えば {format "%.3f", val} として小数点以下3桁指定の場合、 1.6555 と入力したら
1.655 と切り捨てられてしまいますよね。

これを単純に四捨五入でformatして、 1.656 としたいのですが、どういった方法がありますでしょうか?

roundマクロを使うと整数になってしまいますよね。。
 {format "%.3f", {round {"1.6555".to-double}}} → 2.000

なにか方法はありませんでしょうか?
よろしくお願いいたします。
roundは整数の丸めなので、一度整数にして丸めた後、戻せばよいかと思います。
しかしこの場合でもroundは不具合があるので、下記URLを参照に0.5fを足せばよいでしょう。
{format "%.3f", {round {"1.6555".to-double} * 10000 + 0.5f} / 10000}
参照URL
http://developers.curlap.com/faq/48-faq-...48-58.html
usamiさま

既出だったのですね、すみませんでした。
ありがとうございます!