アプリ版:「スタンプのみでお礼する」機能のリリースについて

visualbasic6.0を使用しています。

コード中に1000000・・・・と書いていくと
0が10個の時点で#が勝手につきます。

これって何なのでしょう?
もっともな分かりやすい理由があるのでしょうか?
どなたか教えてください。
また0をつけすぎると 1E+25
とかに勝手に変わる理由も教えてください

A 回答 (3件)

旧DOS-Basic時代から、一部は有りました。


昔の解説書では$ストリング、%整変数、!単精度数、#倍精度数と解説されています。普通の他の言語では変数の型宣言を語句でしますが、Basicはメモリの少なかった(例何十Kとかの時代)TinyBasicの時代から、ソースプログラムを小さく(文字数を少なくする)するため、かつ複雑さを意識させないため(B=Biginner用)、1文字の記号をつけて判別(システムに知らせる)するようにしていたためと思います。
その流れに有るものでしょう。Javaにも「1L」とかの表現はあります。
「また0をつけすぎると 1E+25」も「指数表示」といわれるものです。桁数が許容桁数を越えるとエクセルなどでも(列幅が狭いと)11111111111が1.1111E+10とかに表されます。
http://support.microsoft.com/default.aspx?scid=k …
指数部と仮数部で表され、指数部は10の何乗かを表します。指数部を表すビット数はシステムで固定決定されています。仮数部は1.何々で表され1.1111X10の10乗(10桁の数)で表されることを表します。コンピュタ内の数表現の2大双璧をになう重要なものです。固定小数点数と浮動小数点数。
    • good
    • 0

追記


dim i as variant

参考URL:http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0

i = 1#


Debug.Print TypeName(i)
i = 1!
Debug.Print TypeName(i)
i = 1&
Debug.Print TypeName(i)
i = 1
Debug.Print TypeName(i)

4つめの
[i = 1]は本来は[i = 1%]
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!