勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPにてmicrotimeで秒数を測定した際「xxxxxE-5」のような値になる場合の対応方法

  PHP

PHPで過去記事を参考の上、あるプログラムの処理にかかった時間を測定しようとしたところ「4.6968460083008E-5」のように数字の最後に「E-5」という見慣れない表記が付けたされて表示されていた。調べたところ指数表記という数の表記方法らしい。以下に解決方法をメモ。

 

指数表記とは

Wikipediaによると数の表記方法のひとつで非常に大きな数または非常に小さな数を表記する際に利用されるとのこと。

 

指数表記になった原因

今回の場合は表示する秒数が非常に小さかったため指数表記になったと思われる。

例えばだが以下を実行すると「1.0E-6」が表示される。

<?php
$test = 0.000001;
echo $test;

 

解決方法

ソースコード

#number_formatを使用するパターン
$test = 0.000001;
$test = number_format($test, 10);
echo $test; //0.0000010000

#sprintfを使用するパターン
$test = 0.000001;
$test = sprintf('%F', floatval($test));
echo $test; //0.000001

 

所感

エクセルでも桁数の多い数値を入力した場合「E+〇」みたいな表示に自動で変更されるがこれも同じ問題みたい。ちなみにエクセルだと「列のカラム部分(A列等)を右クリック→セルの書式変換→表示形式を標準から数値に変更」で解決できる。

 - PHP

  関連記事

PHPでURLを解析してクエリ(GETパラメータ)を抽出する方法

formからGETで送信したクエリ(パラメータ)を、受信した側で抽出し、キーと値 ...

PHPで配列を確認する際にvar_dumpよりも見やすくなるdBug.phpの利用方法

PHPで配列を確認する際、大抵var_dumpで出力させているがこれが見づらい。 ...

PHPでCSVファイルを出力する際に「①」や「㈱」等の環境依存文字が文字化けする対応方法

過去記事の方法を用いてPHPでCSVファイルを出力すると所々「?」という形に文字 ...

PHPでファイルのダウンロード時に速度制限をかける方法(分割ダウンロード)

オンラインストレージサービス等で有料会員じゃない場合、ファイルのダウンロード時に ...

PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Attem ...