• ベストアンサー

大きすぎる数値になるとE+になってしまいます…。

プログラミング上、どうしても馬鹿でかい数値を扱うことがあり、どうしても正規な数値ではなくE+といった形になってしまいます。 何か対処法はないでしょうか?

  • PHP
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.3

がると申します。 「馬鹿でかい数値」のサイズにもよるのですが、ある程度以上(signed long値を超えるような数値。具体的には2147483647を超えるような値)の場合には注意を払う必要があります。 こういった数値を扱う場合、PHPですと、GMP関数やBCMath任意精度数学関数といったものを用いる必要があります。

Spitz-Aki
質問者

お礼

言語はPHPでしたのでその関数が使えそうです。ありがとうございます。。

その他の回答 (2)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

えーと、Eも立派な数値の表現形式ですよ。 というのはともかく。 bcmathを利用してみては。 環境によっては使えませんが。

参考URL:
http://www.php.net/manual/ja/ref.bc.php
  • junra
  • ベストアンサー率19% (569/2863)
回答No.1

使用ソフトがわかりませんが、出力用の幅の設定が答えの桁数にあってないんでしょう。 答えを設定する場所の桁単位を変えてはいかがですか

関連するQ&A

  • 数値に E でてくるのは。

    Microsoft Excel や MATLABを使って数値計算をしているのですが、数値が非常に小さくなる時に、Eの入った形で表示されるのですが、これは大体いくつくらいを意味しているのでしょうか。 下にExcel計算の結果を載せておきます。よろしくお願いします。 ....... ........ 0.017946166 0.006095256 0.001997971 0.000645368 0.000207253 6.64089E-05 2.12612E-05 6.80477E-06 2.17766E-06 6.96868E-07 2.23E-07 ...... ...

  • E2数値

    不妊治療4週期です。 生理の5日目からセロフェン1錠を5日飲みました。 今日18日目まだ卵胞が12、3ミリとのことです。 13日目にHMG注射150 15日目にHMG注射75 18日目にHMG注射150 を打ちました。 13日目に、E260 15日目に、E280と記載してありました。 ネットで調べるのですが、E2の数値が正常値なのか解りません。 卵胞の育ちが遅いです。

  • 「3.75E-4」のような形で表される数値の読み方について教えてください

    LCAを勉強していますが、係数などのデータが「3.75E-4」や「1.58E+1」のような形で表されていますが、この読み方が分かりません。 Eとか後ろの+-とか何を表しているのでしょうか? 分かる方がいたら教えてください。

  • 長い数値を入力すると「1.23457E+17」と表示されてしまうのは?

    長い数値で例えば「123456789123456789」を入力すると「1.23457E+17」とセル内には表示され、データとしては「123456789123456000」となり、入力したものとあきらかに異なっています。 これはどういうことなのでしょうか? また、正しく「123456789123456789」と表示させるにはどうしたらいいのでしょうか? よろしくお願いします。

  • ビッカーズ硬さ HV2.2E+4(MPa)の数値…

    ビッカーズ硬さ HV2.2E+4(MPa)の数値は? アルミナの硬さを調べていたら、『HV 2.2E+4(MPa)』と言う硬さ表現に ぶち当たりました。 私の知識だとビッカーズ硬さ(HV)は3桁から4桁の数値にて表されて いると思っていたのですが、上記の表現はどのように理解したら良いのか 判りません。 ご教授下さい。

  • 数値の0が表示されない

    Excelで、Noを入力する際に数値の先頭にある0が表示されません。 例)0001 → 1 や 00203 → 203 などになります。 新規でExcelを開いた状態から、設定は一切変えていません。 なぜこのようになるのでしょうか?対処法を教えて下さい。

  • "6.1E-6"m3(立方メートル)の数値の読み方

    いつもお世話になっています。 この度当方は、オンラインの”容積変換サイト”を利用して、立法メートルの数値をミリメーターの元の値から計算しましたが、その変換計算の結果の答えの表示が”6.1E-6”というアホみたいな表示になりました。 まともな10進法によるアラビア数字だけの羅列による回答がもらえると期待していた当方には読めません。 この回答の値は10進法におけるアラビア数字による表示ですと幾らの値になるのでしょうか? すぐに教えて頂きたいです。宜しくお願い致します。

  • 12進法と60進法の数値は

    アナログ時計だと12進法で ↓  ↓  ↓です。 1 2 3 4 5 6 7 8 9 10 11 12 Q1:進法の考え方からすると 10~12は1ケタで表現すべきではないですか?   16進法だと    0 1 2 3 4 5 6 7 8 9 A B C D E F   と1ケタで表現出来てます。 Q2:宇宙人(3000年前かなぁ!)が使用していた60進数は1ケタで60種類の数値を表現していたん    ですか?    数値の種類もわかりますか?

  • E?

    すいません、基本中の基本ですが 3.02E の数値で ’’E’’ってなんですか。 どう、数値に直すのですか? なんか、基本を飛ばして勉強しており今更人には 聞けず困っております。

  • 数値データの正規化

    ほぼ素人なのですが若い社員に教える必要があるので四苦八苦してます。どうぞ判りやすくお教えください。数値データを統計的に処理する場合標準偏差を求めますね。そして場合によっては、更に深く解析を進めるためにはそれを正規化し比較する作業がありますね。例えばこの正規化された数値は偏差値の計算にも使われます。偏差値=10u+50(uは正規化された数値) ここまでは間違ってないですね! ここからが未だスッキリしない疑問です。正規化された数値はは平均値が0で、標準偏差・分散が1にあり-1~+1の範囲にある。と理解してましたが、どうも違う気がしてきてます。というのは正規化された数値が-1~+1の範囲の値しか取らないのであれば偏差値も40~60の値しか示さないことになります。「東大合格へは偏差値70あれば良い!」が説明できなくなります。多分、どこかで見た、あるいは教えていただいた「正規化された数値は-1~+1の範囲にある」が抜けきらないからスッキリしないと思うのですが、私は何処でどのように誤った理解をしたのかが気になって仕方ありません。「-1~+1の範囲」は誤りなので、割り切って頭の中を切り替えれば済むようですが・・・・・何方か私が誤った理解をするに至った経緯を推論していただけないでしょうか?気分をスッキリさせるだけの我が儘な質問ですがご親切な方、よろしくお願いします。