- PR -

小数を四捨五入し、小数で表示したい

投稿者投稿内容
yyy
常連さん
会議室デビュー日: 2004/01/27
投稿数: 33
投稿日時: 2005-02-14 14:34
因みに、負数の場合はInt関数では四捨五入されないと思います。
投稿の例に記載されていた直値を使った場合、

Dim Res as Double

Res = CType(12.563.ToString("0.00"), Double)
Res = CType(-5.688012.ToString("0.00"), Double)

でそれぞれ12.56、-5.69が取得出来ます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-02-14 15:45
引用:

http://jeanne.wankuma.com/tips/math/04-halfajust.html



先に貼られた...
自分のサイトなのに... かなり orz
いぢけてやるぅ (w
_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2005-02-14 16:07
けっこう誤差がでるのでDoubleよりDecimalをつかったほうがいいと思いますよ
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-02-14 16:07
>因みに、負数の場合はInt関数では四捨五入されないと思います。
Int関数が駄目ならFix関数(参考:msdn Int 関数、Fix 関数
じゃんぬねっとさんのサンプルではばっちし対処されてますね

ところで、私今までずっと四捨五入にFormat関数使ってたので、ちょっと不安になって以下のコードを動かしてみたのですが…

コード:

Dim s As String = ""
s += Math.Round(4.445, 2) & vbCrLf
s += Format(4.445, "0.00") & vbCrLf
s += CDbl(4.445).ToString("0.00") & vbCrLf
s += CDec(4.445).ToString("0.00") & vbCrLf
s += Math.Round(-4.445, 2) & vbCrLf
s += Format(-4.445, "0.00") & vbCrLf
s += CDbl(-4.445).ToString("0.00") & vbCrLf
s += CDec(-4.445).ToString("0.00") & vbCrLf
Me.TextBox1.Text = s


結果は以下の通り。ちなみにOSはWin2Kです。

--結果--
4.44
4.45
4.45
4.45
-4.44
-4.45
-4.45
-4.45
--------

がりうむさんのリンク先にこんな記事もありましたが、Win2Kだと期待した数値が返ってきます。少なくともMath.Roundとは挙動が違うことは確認できてるわけですが、全ての数値に関して検証したわけではないので未だにちょっと不安
これって、SP未適用のWinXP以外では文字通りの「四捨五入」になってるんでしょうか?自分でも探してみたんですが、確証となるような記事は見つけられなくて…もしご存知でしたらご教授ください。m(_ _)m
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-02-14 17:00
引用:

けっこう誤差がでるのでDoubleよりDecimalをつかったほうがいいと思いますよ



そういえば、decimal 使ったことないですね (1度も)
仕事でも使ったためしがないので、存在を忘れかけてました。

128 ビットなのは知ってるんですけども...
4.1.7 decimal 型

# オーバーロードにて、出番あげても良いかも... (^-^*)
_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-02-14 21:53
引用:

じゃんぬねっとさんの書き込み (2005-02-14 15:45) より:

自分のサイトなのに... かなり orz
いぢけてやるぅ (w


Operaだと重なって読めない。。。いぢめだ。いぢけてやるぅ(w
_________________
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-14 22:47
引用:

自分のサイトなのに... かなり orz
いぢけてやるぅ (w


同じく Firefox でもダメ。

スキルアップ/キャリアアップ(JOB@IT)