PHP_Day01_数据类型_float

<?php
	// 浮点数转换
	echo 'Convert string to float : ';
	var_dump(floatval('12.35'));
	echo '<hr>';
	echo 'Convert bool to float : ';
	var_dump(floatval(true));
	echo '<hr>';
	echo 'Convert bool to float : ';
	var_dump(floatval(false));
	echo '<hr>';
	echo 'Convert integer to float : ';
	var_dump(floatval(12));
	echo '<hr>';
	
	// 浮点数比较
	$a = 1.23456789;
	$b = 1.23456780;
	$epsilion1 = 0.00001;
	if(abs($a - $b) < $epsilion1) {
		echo '$a is equal to $b';
	} else {
		echo '$a is not equal to $b';
	}
	echo '<hr>';
	
	$epsilion2 = 0.000000001;
	if(abs($a - $b) < $epsilion2) {
		echo '$a is equal to $b';
	} else {
		echo '$a is not equal to $b';
	}
	echo '<hr>';
	
	/*
		结论:浮点数之间的比较不能直接比较,而是需要相对比较
			当两个浮点数之差的绝对值小于一个极小值的时候就说明相等
	*/
	
?>

猜你喜欢

转载自blog.csdn.net/IronMan240/article/details/83690525