VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/05/22(Sun) 02:12
投稿者Starfish
Eメール
URL
タイトルRe^7: VBのバグです

> > > 四捨五入 ではなく丸めだと思うのですが(VB6.0 or .NET )
> >  丸める方法が、四捨五入で丸めるか、切捨てで丸めるかの違いです。
>
> Intは切捨て処理ですが、CIntは四捨五入ではありませんよ。
>
> Debug.Print CInt(1.5)   '→ 2
> Debug.Print CInt(2.5)   '→ 2
> Debug.Print CInt(3.5)   '→ 4
> Debug.Print CInt(4.5)   '→ 4
>
> これはどうみても、四捨五入ではありませんよね。

 正確には、算術的な四捨五入ではなく、マイクロソフトの言う銀行型丸めというやつです。
.5のときは一方的に切り上げるのではなく偶数になるように切り上げまたは切捨てを行います。

hhttp://support.microsoft.com/default.aspx?scid=kb;ja;196652

>
> >  VB6.0 開発環境 1回目 282 2回目以降 281
> 面白い結果になっていますね。
> こちらでも検証してみたいので、MSVBVM60.DLL のバージョンと、
> OleAut32.DLL のバージョンを教えていただけますでしょうか。

 うちの環境が腐ってますかねぇ
 MSVBVM60.DLL 6.0.97.82
 OleAut32.DLL 5.1.2600.2180


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -