ホームページ >バックエンド開発 >PHPの問題 >PHPで科学表記法を数値文字列に変換する方法

PHPで科学表記法を数値文字列に変換する方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-13 17:15:072199ブラウズ

この記事では、PHP が科学表記法形式を数値文字列に変換する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHPで科学表記法を数値文字列に変換する方法

#科学的記数法形式を文字列に変換する

科学的記数法形式の数値を変換します: 1.2345678987654321e 30 を文字列 '123456789876543210000000000000'

まず変数を分割し、再編成して結果を取得します。

実装原則: (1) 1.2345678987654321e 30 を 1.2345678987654321 と 30

(2) 1.23456789876 を乗算します。 54321 by 10 の 30 乗、10 の30 乗は、PHP 関数 pow(10,30) を使用して取得されます。

a. 最も一般的なアイデアからの最初の方法

public function sctonum($num){
    if(false !== stripos($num, "e")){
        $a = explode("e",strtolower($num));
        $b = $a[0] * pow(10,$a[1]);
        return $b;
    }else{
        return $num;
   }
}

b. ループを使用して

public function numToStr($num)
{
	$result = "";
	if (stripos($num, 'e') === false) {
		return $num;
	}
	while ($num > 0) {
		$v = $num - floor($num / 10) * 10;
		$num = floor($num / 10);
		$result = $v . $result;
	}
	return $result;
}

を取得します c. php 関数を使用してすべての

public function sctonum($num, $double = 5){
    if(false !== stripos($num, "e")){
        $a = explode("e",strtolower($num));
        return bcmul($a[0], bcpow(10, $a[1], $double), $double);
    }else{
        return $num;
    }
}
//注$double 是小数位数,可默认设置为没有
# を取得します##要約と提案: 1 万人の目には 1 万人のハリー・ポッターが映る!それぞれの結果は異なるプロセスによって達成されます。まず、自分が最も使いやすいプロセスを使用して、それを最適化します。次に、シンプルで効率的な c など、理解しやすく効率的で標準化されたメソッドから学びます。

推奨学習:

php ビデオ チュートリアル

以上がPHPで科学表記法を数値文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。