Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
intval() / floatval() / number_format()対応: PHP 4(2000)
値を整数や浮動小数点数に変換したり、数値を桁区切りでフォーマットします。文字列から数値への型変換やユーザー入力のサニタイズに欠かせない関数です。
構文
// 値を整数に変換します。第2引数で基数を指定できます。 intval($value, $base); // 値を浮動小数点数に変換します。 floatval($value); // 数値を桁区切りでフォーマットします。 number_format($number, $decimals, $dec_point, $thousands_sep);
関数一覧
| 関数 | 概要 |
|---|---|
| intval($value, $base) | 値を整数に変換します。第2引数で基数を指定でき、省略時は10進数として解釈されます。文字列の先頭から数値として読み取れる部分だけが変換されます。 |
| floatval($value) | 値を浮動小数点数に変換します。文字列の先頭から数値として読み取れる部分だけが変換され、数値以外の文字が現れた時点で変換を終了します。 |
| number_format($number, $decimals, $dec_point, $thousands_sep) | 数値を桁区切りでフォーマットした文字列を返します。小数点以下の桁数、小数点の記号、千の位の区切り記号を指定できます。 |
戻り値
『intval()』は整数値を、『floatval()』は浮動小数点数を返します。『number_format()』はフォーマットされた文字列を返します。数値に変換できない場合、『intval()』と『floatval()』は『0』を返します。
サンプルコード
<?php
// 文字列を整数に変換します。
$str = "42個のりんご";
echo intval($str); // 先頭の数値部分が変換され『42』と出力されます。
// 数値以外で始まる文字列は『0』になります。
echo intval("りんご42個"); // 『0』と出力されます。
// 基数を指定して16進数から変換します。
echo intval("ff", 16); // 『255』と出力されます。
echo intval("0b1010", 2); // 2進数として解釈され『10』と出力されます。
// floatval() で小数を含む文字列を変換します。
$price = "1,280.50円";
echo floatval($price); // カンマの前で変換が止まり『1』と出力されます。
echo floatval("3.14は円周率"); // 『3.14』と出力されます。
// number_format() で桁区切りを付けます。
$amount = 1234567.891;
echo number_format($amount); // 小数なし・カンマ区切りで『1,234,568』と出力されます。
echo number_format($amount, 2); // 小数2桁で『1,234,567.89』と出力されます。
// 日本円の表示に活用できます。
$yen = 1500000;
echo number_format($yen) . "円"; // 『1,500,000円』と出力されます。
// ユーザー入力のサニタイズとして活用できます。
$_GET['page'] = "3; DROP TABLE users";
$page = intval($_GET['page']); // 『3』だけが取り出されます。
概要
『intval()』はあらゆる型の値を整数に変換する関数です。文字列の先頭から数値として解釈できる部分だけを変換し、数値以外の文字が現れた時点で変換を停止します。先頭が数値でない場合は『0』を返すため、ユーザー入力のサニタイズにも活用できます。第2引数に基数を指定すると、2進数・8進数・16進数の文字列からの変換も可能です。
『floatval()』は同様の動作で浮動小数点数に変換しますが、カンマを含む数値文字列はカンマの位置で変換が停止する点に注意してください。桁区切りのカンマを含む文字列を変換する場合は、先に『str_replace()』でカンマを除去してから変換します。
『number_format()』は数値をフォーマットして表示するための関数で、金額表示や統計値の出力に頻繁に使われます。戻り値は文字列のため、計算に使用する場合は再度数値に変換する必要があります。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。