Curl Global Community
小数点以下の四捨五入について - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: 小数点以下の四捨五入について (/showthread.php?tid=634)



小数点以下の四捨五入について - okm - 09-26-2012

こんにちは。

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

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

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

なにか方法はありませんでしょうか?
よろしくお願いいたします。


RE: 小数点以下の四捨五入について - usami - 09-27-2012

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



RE: 小数点以下の四捨五入について - okm - 09-27-2012

usamiさま

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