1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/** ------------------------------------------------------------------------
* Math関数の小数点以下処理、乱数、2進10進変換、10進16進変換:利用比較の例
* 「floor,round,ceil,rand,bindec,dechex」
* 2015.08.18 作成 yoshi of CXMedia Inc.
* ------------------------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");
/* ----------------------------------------------------------
* ceil(上限)/floor(下限)/round(四捨五入)による
* 小数点以下処理の数値の操作
* ---------------------------------------------------------- */
// ceil(value) floor(value) round(value [,precision [,mode]])
/* [precision]は、丸める小数点以下の桁数(正の値)、小数点以上の桁数(負の値)
[mode]は、val が小数点第 precision 位の値になるように→
PHP_ROUND_HALF_UP :ゼロから離れる方向に丸め(1.5 は 2 に、そして -1.5 は -2 になります)
PHP_ROUND_HALF_DOWN :ゼロに近づく方向に丸め(1.5 は 1 に、そして -1.5 は -1 になります)
PHP_ROUND_HALF_EVEN :次の偶数に丸め
PHP_ROUND_HALF_ODD :次の奇数に丸め
*/
echo "■ceil(上限)/floor(下限)/round(四捨五入)による数値の丸め\n";
$value = -15.48;
// 注意:ceilは、切り上げではなく上限の意味で、負の数のとき「-12」となる
// floorも同様に、切り捨てではなく下限の意味で、負の数のとき「-13」となる
echo ceil($value),"\n";
echo floor($value),"\n";
echo round($value),"\n";
echo round($value,1),"\n";
echo round($value,-1),"\n";
/* ---------------------------------------
* rand/mt_randによる乱数の数値の操作
* --------------------------------------- */
echo "■randによる乱数:rand(min,max)\n";
echo $a=rand(1,100),"\n";
echo $a=rand(1,100),"\n";
echo $a=rand(1,100),"\n";
// よりよい乱数値を生成:mt_rand() 又は mt_rand(min,max)
echo "■mt_randによる乱数:mt_rand() or mt_rand(min,max)\n";
echo mt_rand(),"\n";
echo mt_rand(1,100),"\n";
/* ---------------------------------------------------------------------------
* bindec(2進10進変換)/dechex(10進16進変換)/hexdex(16進10進変換)の操作
* --------------------------------------------------------------------------- */
// bindec(binary) dechex(decimal) hexdex(hexa)
echo "■n進数の変換\n";
echo bindec('110111'),"\n"; // 55
echo dechex("254"),"\n"; // fe
echo hexdec("FF"),"\n"; // 255
?>