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
?>