Hanzo さん>1-0.999999999=0.000000001 は、小さすぎて扱えず、0とみなされるので、1-0.999999999=0、つまり 1=0.999999999 という奇妙なことになっているわけです。
有効桁数が違います。
この場合は print 命令が勝手に 0.99..(9桁) を丸めて 1 と表示しているだけです。
正しく表示するためには format$ を使います。
? format$("%.20f", 0.999999999)
0.9999999990000003000
プチコンで実数型といわれている変数は、一般には「倍精度浮動小数点数」と呼ばれていて、有効数字は約 16 桁あります。
ので 0.99..(17桁) であれば丸められて 1 になります。
0そうだね プレイ済み