ホームページ  >  記事  >  php教程  >  PHP: 小数点以下の桁数を計算する

PHP: 小数点以下の桁数を計算する

WBOY
WBOYオリジナル
2016-06-21 08:48:001580ブラウズ

この記事では 2 つの方法を説明します。1 つは、小数点を文字列に変換し、「.」を使用して の後の部分文字列の長さを切り取って削除する方法です。別の方法は、小数 * 10 の N 乗について説明することです。たとえば、10 を 8 乗した場合、8 乗の余りを求め、結果が得られるまで 10 の余りを求め続けます。 10の余りは0ではありません。

それに比べて、最初の方法の方がはるかに優れています。その理由は、たとえば、1.000004 が境界に近い場合や、0.99999 の場合、PHP の処理に問題が発生し、結果として桁が異なります。そして、精度が把握しにくいので、この種の境界に関する問題を扱うかどうかは、最終的に文字列を使用するか、文字列を使用するかです。

最初のタイプ

private function _getFloatLength($num) {
$count = 0;

$temp = explode ( '.', $num );

if (sizeof ( $temp ) > 1) {
$decimal = end ( $temp );
$count = strlen ( $decimal );
}

return $count;
}

2 番目のタイプ

function getfloatlength($a){
	if(($a-(int)$a)<1E-9){
		$count=0;
	}
	$a=fmod(1E9*$a,1E9);
	while($a%10==0){
		if($a==0)break;
		$a=$a/10;
		$count--;
	}
	return count;
}




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。