• 締切済み

VBAのsingle,doubleのデータ型のE+,E-

VBAのデータ型longやsingleの E+やE-は何を表しているのでしょうか? 単精度浮動小数点型 3.4028235E+38~などです。 また、single doubleはそれぞれ-3.4028~、-1.797~ などと書いてありますが、1万台で小数点以下の数値がある値、たとえば17,562.256はどのデータ型を使えばよいのでしょうか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

コンピュターの基礎に関することです。 Googleででも「指数表示 e」で照会すること。 http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98 http://oshiete1.goo.ne.jp/qa1915900.html など多数。 ーーー 「エクセル 計算誤差」 でGoogle照会 http://pc.nikkeibp.co.jp/pc21/special/gosa/ ーーー 「Currency型」でGoogle照会 あと2者は、どれも単純な話題ではない。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >単精度浮動小数点型 3.4028235E+38~ 3.4028235^38 Eは、指数(exponent) の 頭文字の E です。 >1万台で小数点以下の数値がある値、たとえば17,562.256 通常、Excel VBAは、ワークシート上のセルの数値のデータ型が、Double 型なので、あまりこまごま考えずに、Double 型で可能ですが、正確性を期すなら、Currency 型を使います。ワークシート上のセルは、ある程度の、補正をしてくれるようですが、VBAは、小数点を扱うと、浮動小数点丸め誤差をもろに受けてしまいます。

ibichin
質問者

お礼

指数だったのですね。 よくわかりました。 ありがとうございました。

  • kawais070
  • ベストアンサー率52% (2242/4282)
回答No.1

Currencyという型が良いでしょうね。 http://hinekure.vba-soft.com/?eid=262181

ibichin
質問者

お礼

currencyというのがいいのですね。 ありがとうございました。

関連するQ&A

  • エクセルVBA データ型 SingleとDouble

    SingleとDoubleともに、整数部分の範囲についてはどのように 考えればよいのでしょうか?例えば、小数点以下4桁までを正確 に計算できれば良く、変数の値が 54321.**** となる場合は Singleで良いのでしょうか? SingleとDoubleで対応できる、整数部分の範囲を教えてください。 お手数ですが、よろしくお願いします。

  • Single→Long変換(ビット配列での変換)

    WindowsXP、Visual Basic 6.0(SP6)にて プログラムを作成しております。 やりたいことは、浮動小数点で格納されたSingle型32bitのビット列を、 そのまま整数値に同じビット列として変換したい、ということです。 例えば、12.75であれば、Single浮動小数点の内部形式(IEEE)は 0x414C0000になりますが、この値をそのまま整数値(Long)に変換できればと 考えています。 外部機器(PLC等)と浮動小数点データのやりとりを行う必要があり、 PLCへは単なる16ビットのデータ(0~65535)を整数値として転送するしか ない状況で、上記のような問題に直面しております。 何かアドバイスを頂けますと幸いです。

  • アクセスのデータ型。数値型についてお聞きしたいのですが・・・

    アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に (1)バイト型(0~255の範囲。小数点以下の数値は扱えない) (2)整数型(-32,768~32,767の範囲。小数点以下は扱えない) (3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない) (4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。             小数点以下の数値が扱える) (5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231×            10^308の範囲。少数点以下の数値が扱える) (6)十進型(-10^28-1~10^28-1の範囲。小数点以下の数値が扱える) と6種類決められますが、それぞれの「選び方の違い」と「その理由」を 教えてください。 たとえば、(1)~(3)くらいなら分かります。 扱える数値の桁数が違うということですよね?で、(1)~(3)を選ぶ時と(4)~(6)を 選ぶときで大きな違いというと、「小数点以下の数値が扱えるかどうか」 ですよね?そういう認識であっているか・・・ということと、上記の(1)~(6)を 「選び分ける必要がある場合」というのを教えてください。 なぜ、このような6種類に分かれているのか、人に説明しないとなりません。 よろしくお願い致します。m(_ _)m

  • VBAで計算した結果がデータ型により相違してしまいます。VBAに詳しい

    VBAで計算した結果がデータ型により相違してしまいます。VBAに詳しい方、理由を教えてください。よろしくお願いします。 Dim 税率 As Single Dim 売上 As Double 単価=Range("b5").Value:個数=Range("d5").value:税率=Range("f5").Value 売上=(1+税率)*単価*個数 (1)単価=30000、個数=15、税率=0.05と入力すると売上の数値=472500.000335276となります。 (2)売上のデータ型をsingleにした場合は、売上=472500となります。 (3)売上のデータ型Single、税率のデータ型をDoubleとした場合も売上=472500となります。 (1)の結果の小数点以下の数値の意味がわかりません。 よろしくお願いいたします。

  • C++でのdouble型データの精度

    こんにちは。 コンパイラは、Borland C++ Compiler 5.5 を使っています。 表題の「精度」とは、 正確な値が保証される、「整数部分の桁数」+「小数点以下の桁数」 の事です。 普通、double型データの「精度」は、16桁であると認識しています。 そのため、例えば、 a=123456789012345.6 という浮動小数点数は16桁なので、正しい値が保証されるはずです。 ところが、printf("%f", d1); のようにprintf関数で表示すると、 123456789012345.593800 と表示されました。 これは、d1が正しい値を保持できていないという事です そこで、桁数を下げていった所、 a=1234567890.1 つまり、精度は11桁しかないという事になります。 何か僕が勘違いしているのでしょうか? それとも、僕が使っているコンパイラの精度が11桁しかないという事なのでしょうか? 何かお分かりの方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。

  • 浮動小数点とセットで使用される「e」について

    Javaの参考書で、以下のコードがありました。 『double d2=1.2345e-72』 質問1:このコードの「e」について、常用対数のことでしょうか? 質問2:1.2345e-72は、『1.2345*10の-72乗』でしょうか? 質問3:浮動小数点において、なぜ常用対数は必要なのでしょうか? その理由は、「浮動小数点の桁数を簡単にできるから。またdoubleの表現できる精度より高いそれ表現できるから」でしょうか?

    • ベストアンサー
    • Java
  • 浮動小数点数型

    単精度浮動小数点型と倍精度浮動小数点数型、それぞれ値がとりうる範囲を教えてください。 単精度浮動小数点型 負の値は -3.4028235E+38 ~ -1.401298E-45、 正の値は 1.401298E-45 ~ 3.4028235E+38 の範囲の値 倍精度浮動小数点数型 負の値は -1.79769313486231570E+308 ~ -4.94065645841246544E-324、 正の値は 4.94065645841246544E-324 ~ 1.79769313486231570E+308 の範囲の値 とは記述してあるのですが、実際に小数1桁なら整数部はどのくらいの範囲の値がとれるのか、皆目わかりません。 どうか、わかりやすく教えてください。 よろしくお願い致します。

  • Access2003にてあるフィールドのデータ型を

    Access2003にてあるフィールドのデータ型を 『数値型:単精度浮動小数点型』にして書式を『固定(0.00)』 にしてデータ格納しているのですがExcelVBAでSQL(SELECT文)を使って抽出すると すごい桁数(小数点以下)で出てきます どのようにすれば小数点以下2桁でデータ取得できますか?

  • データ型について

    VBに限ったことではないのですが、 データ型には、短整数型、整数型、長整数型、単精度浮動小数点数型、倍精度浮動小数点数型といろいろな型がありますが、 整数を扱うなら長整数型、小数も含めて扱うなら倍精度浮動小数点数型 を使えば良いと思うのですが、それにより桁数の小さな短整数型、整数型とかは何のためにあるのでしょうか? あまり大きな値を扱わないときにそちらの型を選ぶメリットは何なのでしょうか?

  • ACCESS データ型の一括変更

    ACCESSのデータ型の変更について質問です。 よそからいただいているACCESSファイルがあるのですが、データがテキスト型で入っていまして、数値型(単精度浮動小数点型)に変更し、IIF関数でチェックをしております。(チェックは例えば、テストの点数が90点以上の点をピックアップするなど簡単なものです) ところで、今までテーブルのデザインビューからデータ型を一つ一つテキスト型から数値型(単精度浮動小数点型)へと変更しておりましたが、変更する箇所が多いので、一括して変更できないかと思っております。よろしくお願いします。

専門家に質問してみよう