--- recipe.module	2006-09-10 12:18:17.000000000 -0700
+++ recipe.module.changed	2006-09-10 12:15:29.000000000 -0700
@@ -573,6 +573,19 @@ function recipe_ingredient_id_from_name(
 }
 
 /**
+ * Converts an ingredient's quantity from fractions to decimal
+ */
+function recipe_ingredient_quantity_from_fraction($ingredient_quantity) {
+  if ($pos = strpos($ingredient_quantity, '/')) {
+    $numerator = substr($ingredient_quantity, 0, $pos);
+    $denominator = substr($ingredient_quantity, $pos+1);
+    $ingredient_quantity = $numerator/$denominator;
+  }
+
+  return $ingredient_quantity;
+}
+
+/**
  * Saves the changed ingredients of a recipe node to the database
  * (by comparing the old and new ingredients first)
  */
@@ -589,11 +602,13 @@ function recipe_save_ingredients($node) 
 
   foreach ($changes->add as $ingredient) {
     $ingredient->id = recipe_ingredient_id_from_name($ingredient->name);
+    $ingredient->quantity = recipe_ingredient_quantity_from_fraction($ingredient->quantity);
     db_query("INSERT INTO {recipe_node_ingredient} (nid,ingredient_id,quantity,unit_id) VALUES (%d,%d,%f,%d)", $node->nid, $ingredient->id, $ingredient->quantity, $ingredient->unit_id);
   }
 
   foreach ($changes->update as $ingredient) {
     $ingredient->id = recipe_ingredient_id_from_name($ingredient->name);
+    $ingredient->quantity = recipe_ingredient_quantity_from_fraction($ingredient->quantity);
     db_query("UPDATE {recipe_node_ingredient} SET quantity='%f', unit_id='%d' WHERE nid='%d' AND  ingredient_id='%d'", $ingredient->quantity, $ingredient->unit_id, $node->nid, $ingredient->id);
   }
 }
