PHP5で非常に大きい数値、小さい数値を出力しようとすると
自動的に科学表記に変換されてしまいます。
$
php -v
PHP5.2.6
...
$php -r 0.00001;'
1.0E-5
この変換を抑止する方法をだれかご存知ありませんか?
自然数の場合はそのまま出力したいので、
printf("%f",
に逃げづらくてちょっと困ってます。
toStringメソッドのようなものをいじれたりできればと思うのですが。
よろしくお願いします!!
コメント

- 4:mikeda
- 2008/09/07 20:39
みなさんいろいろありがとうございます。返事遅くなってすみません。
よくよく見てみると処理対象に整数型はなく、処理時点で全て実数型の配列になっていました。
文字列として出力もできなかったので、printfに逃げました。
小数部分がないものは全て整数としました。
たしかこんな感じで。
<?php
$i = 1.00001;
$fmt = ($i-(int)$i) ? "%s\n" : "%d\n";
printf($fmt, $i);
?>
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。






printf を使わないとしょうがないんじゃないかな
の場合分けをするなら
$n);
integer
printf(is_int($n)?"%d\n":"%f\n",
とか