XLSファイルから移植されたデータベースがあります。私の番号はこの形式です
3.41002E+13
ただし、読み取り可能な形式は次のようになります。34100224263318
最初のフォームを2番目のフォームに変換するにはどうすればよいですか?
number_format()を使用する
string number_format(float $ number、int $ decimals = 0、string $ dec_point ='。'、string $ 1000s_sep ='、')
デフォルトでは、数千がで区切られ,
ているため、4つの引数すべてを渡す必要があります。
number_format(3.41002E+13, 0, ".", "");
34100200000000
ご覧のとおり、追加の問題があります。精度が失われます。少なくとも、そもそもそこにはありませんでした。
あなたは使用する必要があります、ここnumber_format
でそれをチェックしてください
3.41002E + 13 == 3.41002 * 10 ^ 13 == 3.41002 * 100000000000000
ただのフロートタイプです。これを実現したい場合は、number_format();を使用する必要があります。
number_format(3.41002E+13) == 34100224263318
phant0mがコメントしたように
number_format(1.11E-2) == 0,00111
ただし、整数の場合、ドットを使用するだけで問題ありません。
number_format(1.11E-2, 5, '.', '') == 0.00111
正確な数値を取得することはできません(例:34100224263318)。「Ex」は10 ^ xを表し、実際の数値の近似値として桁数の多い数値に使用されます。number_formatは、人間が読み取れる標準的な数値バージョンで近似値を取得するために使用できるものです(Exも読み取り可能ですが、とにかく)。