[Ruby] Définition d'une unité dans un champs de saisie
-
Bonsoir à tous,
Je rencontre un petit problème d'unité sur l'affection d'un champ de saisie dans un formulaire.
J'utilise le wrapper SKUI de Thom Thom)Par exemple, dans la console ruby je tape les commandes suivantes :
longueur = 50.cm 19.6850393700787 longueur.to_s 500.0mm
Ce qui est normal puisque mon modèle a comme unité principale le mm.
Mais dans mon formulaire, certains champs sont en mm et d'autres en cm.
Bien que le modèle actif soit en mm, j'aimerai "forcer" l'unité de certains champs (du moins dans l'affectation initiale avec une variable) lors de la réouverture du formulaire.... txt_long = SKUI::Textbox.new(@longueur.to_s) # en cm txt_larg = SKUI::Textbox.new(@largeur.to_s) # en cm txt_ep = SKUI::Textbox.new(@epaisseur.to_s) # en mm ...
Comment faire ?
-
Bonsoir,
C'est bon j'ai trouvé : c'était tout bête en fait.txt_larg = SKUI::Textbox.new(@largeur.to_cm.to_s+'cm') txt_epai = SKUI::Textbox.new(@epaisseur.to_mm.to_s+'mm')
-
Ben si tu le dis...
J'irais pas vérifier !
Patrick
-
On n'est jamais mieux que par soi-même!
(enfin, quand on trouve! -
Bonjour,
Apparemment j'ai crié un peu trop vite victoire.
Ma solution fonctionne sous SU-8 mais pas avec une version plus récente.Lorsque j'utilise la méthode to_l j'ai des comportements differents suivant la version de sketchup
Avec sketchup 2013 :
` '100cm'.to_l
39.3700787401575'100.0cm'.to_l
Error: #<ArgumentError: (eval):76:into_l': Cannot convert "100.0cm " to Length> (eval):76 (eval):76
Avec sketchup 8 :
` '100cm'.to_l
39.3700787401575'100.0cm'.to_l
39.3700787401575`J'ai beau chercher, je ne trouve pas de lien pouvant m'expliquer cette différence.
La version de ruby est bien identique entre ces deux version ?
Advertisement