現在の言語: 日本語 |
float型 |
php型宣言 |
class test1
{
function test1()
{
$num1 = 0.1;
$num2 = 0.7;
$result =$num1 + $num2;
//環境によっては「0.7999999999999999」となることがあるようです。
echo "result(num1 + num2):$result".PHP_EOL;//このテスト環境:result(num1 + num2):0.8
$num1 = 0.100000;
$num2 = 0.700000;
$result =$num1 + $num2;
echo "result(num1 + num2):$result".PHP_EOL;//このテスト環境:result(num1 + num2):0.8
$result = bcadd("0.1", "0.7", 1);
echo "result(bcadd):$result".PHP_EOL;//このテスト環境:result(bcadd):0.8
}
function test2()
{
$money1 = 100.5;
$money2 = 50.3;
$multiple = 10;
$tmp1 =$money1 * $multiple;
$tmp2 =$money2 * $multiple;
$tmp =$tmp1 + $tmp2;
$total = $tmp / $multiple;
echo "total:$total".PHP_EOL;//total:150.8
}
function test3()
{
$num = 0.123456789;
echo "num:$num".PHP_EOL;//num:0.123456789
//フォーマット指定子(%.nf)
printf("%f", $num).PHP_EOL;//0.123457
printf("%.0f", $num).PHP_EOL;//0
printf("%.1f", $num).PHP_EOL;//0.1
printf("%.2f", $num).PHP_EOL;//0.12
printf("%.3f", $num).PHP_EOL;//0.123
printf("%.4f", $num).PHP_EOL;//0.1235
printf("%.5f", $num).PHP_EOL;//0.12346
printf("%.6f", $num).PHP_EOL;//0.123457
printf("%.7f", $num).PHP_EOL;//0.1234568
}
}
echo "<pre>";
$cls1 = new test1();
$cls1->test1();
$cls1->test2();
$cls1->test3();
echo "</pre>";
class test1
{
function test1()
{
$num1 = 0.1;
$num2 = 0.7;
$result =$num1 + $num2;
//Depending on the environment, the result may be "0.79999999999999999."
echo "result(num1 + num2):$result".PHP_EOL;//This test environment:result(num1 + num2):0.8
$num1 = 0.100000;
$num2 = 0.700000;
$result =$num1 + $num2;
echo "result(num1 + num2):$result".PHP_EOL;//This test environment:result(num1 + num2):0.8
$result = bcadd("0.1", "0.7", 1);
echo "result(bcadd):$result".PHP_EOL;//This test environment:result(bcadd):0.8
}
function test2()
{
$money1 = 100.5;
$money2 = 50.3;
$multiple = 10;
$tmp1 =$money1 * $multiple;
$tmp2 =$money2 * $multiple;
$tmp =$tmp1 + $tmp2;
$total = $tmp / $multiple;
echo "total:$total".PHP_EOL;//total:150.8
}
function test3()
{
$num = 0.123456789;
echo "num:$num".PHP_EOL;//num:0.123456789
//Format specifier (%.nf)
printf("%f", $num).PHP_EOL;//0.123457
printf("%.0f", $num).PHP_EOL;//0
printf("%.1f", $num).PHP_EOL;//0.1
printf("%.2f", $num).PHP_EOL;//0.12
printf("%.3f", $num).PHP_EOL;//0.123
printf("%.4f", $num).PHP_EOL;//0.1235
printf("%.5f", $num).PHP_EOL;//0.12346
printf("%.6f", $num).PHP_EOL;//0.123457
printf("%.7f", $num).PHP_EOL;//0.1234568
}
}
echo "<pre>";
$cls1 = new test1();
$cls1->test1();
$cls1->test2();
$cls1->test3();
echo "</pre>";
class test2
{
function casetInt()
{
$float = 2.3;
$int = 8;
$total = $float + $int;
echo "total:$total".PHP_EOL;//total:10.3
}
function castString()
{
$float = 7.5;
$str = "2.5";
$total = $float + $str;
echo "total:$total".PHP_EOL;//total:10
}
function castBool()
{
$float =9.0;
$bool = true;
$total = $float + $bool;
echo "total:$total".PHP_EOL;//total:10
}
function castNull()
{
$float = 1.23;
$total = $float + null;
echo "total:$total".PHP_EOL;//total:1.23
}
}
echo "<pre>";
$cls2 = new test2();
$cls2->casetInt();
$cls2->castString();
$cls2->castBool();
$cls2->castNull();
echo "</pre>";
class test2
{
function caseInt()
{
$float = 2.3;
$int = 8;
$total = $float + $int;
echo "total:$total".PHP_EOL;//total:10.3
}
function castString()
{
$float = 7.5;
$str = "2.5";
$total = $float + $str;
echo "total:$total".PHP_EOL;//total:10
}
function castBool()
{
$float =9.0;
$bool = true;
$total = $float + $bool;
echo "total:$total".PHP_EOL;//total:10
}
function castNull()
{
$float = 1.23;
$total = $float + null;
echo "total:$total".PHP_EOL;//total:1.23
}
}
echo "<pre>";
$cls2 = new test2();
$cls2->casetInt();
$cls2->castString();
$cls2->castBool();
$cls2->castNull();
echo "</pre>";| 著作権情報 |
| ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。 ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、 または公開したりすることはできません。 当方は、ホームページおよびアプリ等を利用したいかなる理由によっての障害等が発生しても、 その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について 一切の責任を負わないものとします。 |