小数点第2未満を切り捨て

解決


hoge  2008-12-21 23:20:01  No: 69313

double型の小数点第2未満を切り捨てしたいのですが、どういった関数やAPIを利用すればよいのでしょうか?


YuO  2008-12-22 10:25:54  No: 69314

100倍して,Math.Floor
http://msdn.microsoft.com/ja-jp/library/e0b5f0xb.aspx
またはMath.Truncate
http://msdn.microsoft.com/ja-jp/library/c2eabd70.aspx
して,100で割ればよいです。
ただし,doubleですから誤差はついてまわります。


YuO  2008-12-22 19:33:02  No: 69315

C#の掲示板と勘違いしてました。C++でしたね。

floor関数がmath.hにあります。
ただし,Truncate相当は存在しないので,符号を保存して絶対値でfloorとることになります。


hoge  2008-12-23 09:04:37  No: 69316

YuOさん

ありがとうございます。
double型を100倍して、int型に格納し、100で割ってdouble型に格納する方法でやったら、うまくいきました。


maru  2008-12-25 17:15:56  No: 69317

> double型を100倍して、int型に格納し、100で割ってdouble型に格納する方法でやったら、うまくいきました。
ということは、その数値の範囲はintの範囲÷100になるわけだけど、問題はないのかな?
もしそうならば、その数値はそもそもdouble型にしておく必要があるのかな。
そのあたりをよく考えたほうがよくないですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加