2016-09-14 52 views
1

我有一个字段在MySQL数据库:价格字段设置为浮动(25,2)。PHP数学与变量不工作

这为什么不会产生结果?

$refundable = $trial->data()->price - 100.00;

如果我只是回声$审讯中─>数据() - >价格我得到的1100.00的记录值,但它不会在这个简单的数学方程式工作。

什么也不显示为$退还

结果这里是我的方法:

public function find($invoice_id = null) { 
     if($invoice_id) { 
      $data = $this->_db->query("SELECT * FROM invoice WHERE invoice_id =" . $invoice_id . ""); 

      if($data->row_count()) { 
       $this->_data = $data->first(); 
       return true; 
      } 
     } 
     return false; 
    } 

    public function data() { 
     return $this->_data; 
    } 
+1

您如何输出结果? –

+1

$'var_dump($ trial-> data() - > price)的输出是什么;''类型? –

+1

另外,你可以展示'data()'方法的工作原理吗? –

回答

0

腓可以解释从您的分贝作为一个字符串值。将它作为浮动投射应该起作用,例如,

$refundable = (float)$trial->date()->price - 100.00 
+0

如果'price'是一个数字字符串,从它减去一个float将创建一个[数字上下文](http://php.net/manual/en/language.types.string.php#language.types.string.conversion )它已经被评估为一个数字。明确的演员不应该是必要的。 –

+0

var转储是字符串(7)。 –

+0

我也用方法更新了我的问题,按照要求 –

0

我想通了,谢谢。数学运算WAS工作正常。我发现的问题是,在我使用它的地方,我不得不将它转换回字符串,以便它可以与某个插件正常工作。

我很感谢这里的帮助。

没有评论,我会失去一段时间!