電子書籍の厳選無料作品が豊富!

PHP+MYSQLで
演算子を使って計算をしたいのですが、データーベースから
数値を取り出したときに3桁以上の数値が計算できません。
<?php
if($products_teika > 0.0000)
{
$pacent = round( 100-($products_price / $products_teika) * 100, 0);
}else{
$pacent = "-";
}
?>
<?php echo $pacent; ?>%OFF!
という計算をさせ、割引率を表示させたいのですが
3桁以上になるとうまく計算できません。

このような場合、桁区切りの数値を計算させる方法が
あるのでしょうか?

ご存知の方ご教授お願いいたします。

A 回答 (3件)

ひょっとして$products_teikaや$products_priceが文字列で位取りのカンマが入っているということでしょうか?であれば、あらかじめ(もしくは計算で使うときに)str_replaceで「,」を削除しないといけません。



  http://www.php.net/manual/ja/language.types.stri …

  if(str_replace(',', '', $products_teika) > 0.0000) {
    $pacent = round( 100-(str_replace(',', '', $products_price) / str_replace(',', '', $products_teika)) * 100, 1);
    }else{
    $pacent = "-";
    }
    • good
    • 0
この回答へのお礼

shimix 様 
ご解答有難うございました。
str_replace使って「,」を削除しようとしていたのですが、
こちらの記述間違えでした。
今回は有難うございました。

お礼日時:2008/05/14 17:33

>3桁以上になるとうまく計算できません。



「計算できない」を詳しく教えてください.
計算値が想定通りではない?
エラーが発生する?
その他の内容?
    • good
    • 0

素朴な疑問で申し訳ないのですが3桁以上の割引率って無いと思うんですが・・・・


・10割引が最大では?
・桁区切りって小数点の事でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!