Thread Rating:
  • 376 Vote(s) - 2.82 Average
  • 1
  • 2
  • 3
  • 4
  • 5
小数点以下の四捨五入について
09-26-2012, 11:03 AM, (This post was last modified: 09-26-2012, 11:13 AM by okm.)
#1
小数点以下の四捨五入について
こんにちは。

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

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

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

なにか方法はありませんでしょうか?
よろしくお願いいたします。
09-27-2012, 09:37 AM,
#2
RE: 小数点以下の四捨五入について
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
09-27-2012, 10:11 AM,
#3
RE: 小数点以下の四捨五入について
usamiさま

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

Forum Jump:


Users browsing this thread:
3 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('634')