お答えいただけなかったので、もう一度報告いたします。
整数リテラル値同士の除算(/)は整数除算がされていますが、整数型変数同士の除算(/)は実数除算がされています。
Ver4.1β1で
・整数同士で"/"演算子を扱うと、"\"演算子と同様、つまり、整数除算が行われるようにしました
と言うことなので、整数型変数同士(整数型リテラル値と整数型変数も)の除算も整数除算をしてもらいたいです。
それと、SingleからLongへの強制変換を四捨五入でしているようですが、切捨てにできないでしょうか?(キャストしてやると切捨てされるのでキャストすれば良いのですが)
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード:
#include "cons3.idx"
#prompt
' ↓ ここからプログラムが実行されます
dim a(10) As Long
dim c As Long
dim d As Long
dim i As Long
dim str As String
' a(1)=1,a(2)=2・・・a(10)=10
for i=1 to 10
a(i) = i
Next
'どちらも3*(6/5)
c = 3 * ( a(6) / a(5) )
d = 3 * ( 6 / 5 )
if c = d then print "おなじ値です",c,d else print "ちがう値です",c,d
print "何かキーを押してください"
str = Input$(1)
end
もうひとつ、代入先の変数を実数型(Single)にして見ると比較や表示の部分ではDoubleになっているようです。
確認してもらえたらと思います。
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード:
#include "cons3.idx"
#prompt
' ↓ ここからプログラムが実行されます
dim a(10) As Long
dim c As Single
dim d As Single
dim i As Long
dim str As String
' a(1)=1,a(2)=2・・・a(10)=10
for i=1 to 10
a(i) = i
Next
'どちらも3*(6/5)
c = 3 * ( a(6) / a(5) )
d = 3 * ( 6 / 5 )
if c = d then print "おなじ値です",c,d else print "ちがう値です",c,d
print "何かキーを押してください"
str = Input$(1)
end
AB Ver4.13.00(2005 Final)で確認しました。