数値型の問題

WBOY
WBOYオリジナル
2016-06-23 13:36:371238ブラウズ

$n_qz="1".$number.date("mdhis");
$head=str_pad($n_qz,15,0);
while($rs=$sql->fetch_array($query));
echo strval($head)."
;
$head++
}
110413110344000
1.10413110344E+14
1.1 0 413110344E+14
1.10413110344E+14
1.1041311034400E+14

最初の出力を除いて、これは正常ですが、他の出力はなぜこのようになりますか? ?数字が必要なので解き方を教えてください。

ディスカッション (解決策) への返信

科学的表記法、これは正常です

期待したものと異なる場合は、長い数字の文字列を文字列として扱ってください


あなたの数字はデータベースから取得したものです。おそらくすでに存在しているかもしれませんデータベース内の科学表記法は

これをお試しください

$str = 1.10413110344E+14;echo sprintf("%.0f", $str);


データベースを読み込んでいないため、直接生成されるサーバーもあります。皆さん、ありがとうございます。

私の解決策は次のとおりです:

number_format($head,0,"","")


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