title: Why does propel convert float property to string?
body: <p>I just noticed, that propel converts numeric values to strings in generated setter methods.
  My problem with that is, since I am using german locale, float values are insert with a comma instead of a dot. For example: "3.5" results in a string "3,5". 
  I am using PostgreSQL, which obviously expects 3.5.</p>
  
  <p><strong>Version info:</strong>
  In case it is relevant, I am using: PHP 5.3.9, Propel 1.6 with Symfony 2.2.</p>
  
  <p><strong>Details:</strong></p>
  
  <p>The table definition looks like this:</p>
  
  <pre><code>&lt;table name="account_entry"&gt;
      ...
      &lt;column name="amount" type="decimal" size="12" scale="2" required="true" /&gt;
      ...
  &lt;/table&gt;
  </code></pre>
  
  <p>The generated setAmount() method looks like this:</p>
  
  <pre><code>public function setAmount($v)
  {
      if ($v !== null &amp;&amp; is_numeric($v)) {
          $v = (string) $v;
      }
  
      if ($this-&gt;amount !== $v) {
          $this-&gt;amount = $v;
          $this-&gt;modifiedColumns[] = AccountEntryPeer::AMOUNT;
      }
  
  
      return $this;
  } // setAmount()
  </code></pre>
  
  <p>Saving the object results in a PostgreSQL error:</p>
  
  <pre><code>Invalid text representation: 7 ERROR: invalid input syntax for type numeric: "3,5"
  </code></pre>
  
  <p>It took me a while to find the place where this conversion happens. As you can see the float value is being casted to string in setAmount(). Up to now I have never noticed that casting a float value to string results in a string containing a locale specific decimal separator.</p>
  
  <p>I wonder why propel converts a float value into a string in the first place?
  Is there some workaround for this? </p>
  
  <p>The only workaround I came up with is really ugly and annoying:</p>
  
  <pre><code>setlocale(LC_ALL, 'en_US');
  $ae-&gt;setAmount(3.5);
  setlocale(LC_ALL, 'de_DE');
  </code></pre>