数値の丸め

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 数値の丸め

by C1000 » 2006年6月12日(月) 19:53

別な突っ込みですけど死者誤入は四捨五入ですよね?

Re: 数値の丸め

by 7 » 2006年6月07日(水) 06:50

河川屋さん さんが書きました:また、
x=-1.9 : y=CInt(x)
とすると、y=-1となる(Fixと同じ動作をする)が、
ヘルプにはCIntは四捨五入とあり、ヘルプどおりの動作をしない。。
ヘルプの表現が間違ってるんだと思います。
CDbl関数やCSng関数を見ると分かりますけど、これらの関数はたんに型変換をいっそう明示する為の関数です。
CInt関数の定義は以下のようになっています。

コード: 全て選択

Function CInt(ByVal number As Double) As Long
	CInt=number As Long
End Function
指定された倍精度浮動小数点型の数値を整数型に変換してるだけですね。

あ。以下のようにマクロ関数にしても良さそうですね。ダメなのかな?

コード: 全て選択

Const CDbl(number) = number As Double
Const _CUDbl(number) = number As Double
Const CDWord(num) = num As DWord
Const CInt(number) = number As Long
Const CSng(number) = number As Single
追記。
小数点型(?)を整数型に変換する時、死者誤入してくれないっていうバグとも言えますし、小数点型を整数型に変換する時、四捨五入してくれっていう要望もできますね。

数値の丸め

by 河川屋 » 2006年6月07日(水) 00:31

#N88BASIC
dim x as Double
  x=-1 : print using "###.#";x
とすると、「-0.9」と表示される。

また、
x=-1.9 : y=CInt(x)
とすると、y=-1となる(Fixと同じ動作をする)が、
ヘルプにはCIntは四捨五入とあり、ヘルプどおりの動作をしない。。

ページトップ