/**
* @ORM\Column(type="float", scale="2")
*/
protected $curr_price;
我使用它的Symfony 2
而且這個領域變成一個雙在MySQL數據庫,而不是2點精度浮點數。
我在做什麼錯?我試圖刪除數據庫,重新插入等...
/**
* @ORM\Column(type="float", scale="2")
*/
protected $curr_price;
我使用它的Symfony 2
而且這個領域變成一個雙在MySQL數據庫,而不是2點精度浮點數。
我在做什麼錯?我試圖刪除數據庫,重新插入等...
都precision
和scale
屬性只能使用decimal
映射類型(link)。我建議你使用decimal
類型。
至於爲什麼它創建一個雙字段而不是float字段,我不完全確定。它可能與兼容所有支持的數據庫有關。我沒有看到double
映射類型,所以我認爲它們都使用相同的類型。
.yml
curr_price:
type: decimal
precision: 10
scale: 2
/**
* @ORM\Column(type="float", scale=2)
*/
protected $curr_price;
規模應該是一個整數,您使用的是串
根據[文檔](http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#property-mapping): * scale :(可選,默認值0)十進制(精確數字)列的比例(**僅適用於十進制列**),它表示小數點右側的位數,且不得大於精度。* –
爲浮動點(通常雖然不是與你的問題,存儲價格)一個非常糟糕的做法。 – Martijn
請詳細說明。 – Tool
請參閱http://stackoverflow.com/questions/1165761/decimal-vs-double-which-one-should-i-use-and-when。 – Martijn