php doublevalでdouble型にキャストする

  • 作成日 2021.10.29
  • php
php doublevalでdouble型にキャストする

phpで、doublevalを使用して、double型にキャストするサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

doubleval使い方

doublevalを使用すれば、double型にキャストすることが可能です。

doubleval(変数);

以下は、double型にキャストしたサンプルコードとなります。

<?php

$str = "10.11";

$result = doubleval($str);

var_dump($result); // double(10.11)

// floatvalでも同じ
$result = floatval($str);

var_dump($result); // double(10.11)

php7.4.5ではfloatになります。

<?php

$str = "10.11";

$result = doubleval($str);

var_dump($result); // float(10.11)

$result = floatval($str);

var_dump($result); // float(10.11)

また、double型へのキャストは以下でも可能です。
※パフォーマンスは特に変わりません。

<?php

$str = "10.11";

$result = (double)$str;

var_dump($result); // double(10.11)

$result = (float)$str;

var_dump($result); // double(10.11)

後方に文字列が含まれていても変換せれますが、

<?php

$str = "10.11double";

$result = (double)$str;

var_dump($result); // double(10.11)

$result = (float)$str;

var_dump($result); // double(10.11)

前方の場合は、変換されません。

<?php

$str = "double10.11";

$result = (double)$str;

var_dump($result); // double(0)

$result = (float)$str;

var_dump($result); // double(0)