• ベストアンサー

小数点以下0の非表示

教えてください。 PostgreSQLでNUMERIC(8,3)のデータがあるのですが、 そのデータが小数点以下が0だった場合などに 0を表示させたくないのですがどのようにすればよいのでしょうか? 2500.000 → 2500 108.050 → 108.05 のようにしたいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

$number = '25.0000'; echo preg_replace("/\.?[^1-9]+$/", "", sprintf("%.3f", $number)); ちょっとめんどくさいですが、上記はどうでしょう?

angelinaane
質問者

お礼

回答ありがとうございます。 結局、TEXT型に変わることになりました。 正規表現を使うというのは盲点でした。 今後試してみたいと思います。

その他の回答 (1)

  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.2

浮動小数点数として扱い、小数点以下の終端に続く0を丸めこませる $num1 = '2500.000'; $num2 = '108.050'; print $num1 . ">" . (double)$num1 . "/" . $num2 . ">" . (double)$num2; // 2500.000>2500/108.050>108.05

angelinaane
質問者

お礼

回答ありがとうございます。 結局、TEXT型に変わることになりました。