この記事では、PHP が科学表記法形式を数値文字列に変換する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
![PHPで科学表記法を数値文字列に変換する方法](https://img.php.cn/upload/article/202105/13/2021051317105664527.jpg)
#科学的記数法形式を文字列に変換する
科学的記数法形式の数値を変換します: 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. 最も一般的なアイデアからの最初の方法
1 2 3 4 5 6 7 8 9 | 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. ループを使用して
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 関数を使用してすべての
1 2 3 4 5 6 7 8 9 | 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 ;
}
}
|
ログイン後にコピー
# を取得します##要約と提案: 1 万人の目には 1 万人のハリー・ポッターが映る!それぞれの結果は異なるプロセスによって達成されます。まず、自分が最も使いやすいプロセスを使用して、それを最適化します。次に、シンプルで効率的な c など、理解しやすく効率的で標準化されたメソッドから学びます。
推奨学習:
php ビデオ チュートリアル
以上がPHPで科学表記法を数値文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。