2014-12-10 2 views
0

У меня есть простое делениерезультаты PHP Division автоматически округляется до числа

$order = 14/10; // 1 
$order = 15/10; // 2 

результат автоматического преобразования в круглой

, как я могу получить результат, как

$order = 14/10; // 1.4 
$order = 15/10; // 1.5 

здесь мой фактический код $quantity

if (($quantity > 0.99) && ($pro_Type== "BHRF")) { 

    $pro_Id = $pro_Id -10; 
    $quantity = $quantity/10; 

    for ($i=1; $i <11; $i++) { 

     $pro_Id = $pro_Id +10; 

     $insert0 = mysql_query("INSERT INTO myorders1 (Product_Id,Quantity,Product_Type,Store_Id,Order_Date,Order_Time) 
        VALUES ('$pro_Id','$quantity','$pro_Type','$store_Id','$o_Date','$o_Time')", $connection); 
       } 
      } 
+1

Вы можете поместить больше кода? Вы используете эхо, чтобы показать $ order или другой метод? no (int) cast? –

+0

'$ order = 1.0 * 14/10; // 1.4' – Alexander

+0

или попробуйте добавить $ order до –

ответ

0

Если я не пьян; 14/10 не может быть 1 без какого-либо округления участия

echo 14/10; // 1.4 as expected 

Скорее всего, ваше поле базы данных, Quantity, является целым числом и оленьей кожа магазина дроби и вы предполагаете, что реальное число пришло от деления.

Fiddle

+0

yes my bad, значит, integer не хранит число с десятичной запятой? – Rakesh

+0

Да целые числа являются действительными числами. Они не сохраняют десятичные значения. Для этого у вас может быть, среди прочих, поле типа DECIMAL. –

+1

Хорошо. Огромное спасибо :-) – Rakesh

Смежные вопросы