2010-09-26 2 views
4

je un modèle, appelé livraison:Ruby DataMapper décimales stockées affichage en notation scientifique

property :id,   Serial 
property :created_at, DateTime 
property :updated_at, DateTime 

property :price, BigDecimal, :precision => 10, :scale => 2 

Livraison a un prix, qui, lorsqu'il est vu dans SQLite est des valeurs telles que 5,49, 6,95, 4,95

Lorsque en affichant cette information dans la sortie (codée en haml), les valeurs de delivery.price sont affichées comme 0.695E1, 0.495E1 etc

Une idée de la raison pour laquelle elles apparaissent dans ce format, et comment les afficher correctement.

Toute aide est appréciée!

Répondre

5

Conversion à la chaîne (BigDecimal#to_s) prend un paramètre de format:

>> n = BigDecimal.new('5.49') 
=> #<BigDecimal:100502958,'0.549E1',18(18)> 
>> n.to_s 
=> "0.549E1" 
>> n.to_s('F') 
=> "5.49" 
+0

Merci, ça a parfaitement fonctionné. – Neil

Questions connexes