cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 26 oct. 2007 à 18:57
Ca ne marche pas parce que AllowCurrencySymbol semble devoir être combiné avec d'autres flags pour reconnaître un format monétaire.
Ca marche si tu remplaces AllowCurrencySymbol par Currency (qui est une composition de flags d'après la doc).
De plus, chez moi je dois mettre une virgule comme séparateur des décimales.
scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017 27 oct. 2007 à 09:36
Effectivement tout est question de subtilité mais en fait, pourquoi le fait de parcourir un 'double' dans une chaîne qui contient le symbole '?' fait planter ?.
Je vais relire la doc je pense mais en fait le Parse est trop ... pour se rendre compte de la chaîne entrée est légèrement différente.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 27 oct. 2007 à 10:02
xx.xx ? ce n'est pas une double, c'est une valeur monétaire. Par défaut, Parse/TryParse ne s'attends pas à une telle valeur, il paraît donc logique que ça plante !
Maintenant tu peux spécifié que la valeur à parser/convertir est une valeur monétaire, mais il faut également faire attention que la culture du thread courrant soit correct, car la représentation des chaînes varient (separator des millieurs, separator des décimals, etc)
dvjh
Messages postés6Date d'inscriptionvendredi 26 octobre 2007StatutMembreDernière intervention14 décembre 2008 27 oct. 2007 à 14:49
Part subtile, j'entendais une tâche qui demande des qualités. C'est-à-dire que la boite de dialogue dans laquelle l'utilisateur devra saisir la valeur monétaire demandera plus d'espace pour expliquer que pour saisir, en effet je pense que l'utilisateur lambda n'est pas toujours au fait des normes de sa propre culture. De plus, comme on ignore la culture de l'utilisateur on ne pourra donner comme explication que des exemples dans deux ou trois cultures importantes, mais qui connait les subtilités du chinois ou du russe ?
Et c'est encore plus complexe, en effet on n'est pas obligé de mettre le symbole monétaire, on peut le mettre devant ou derrière le nombre, avec ou sans un espace !
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 27 oct. 2007 à 21:59
Salut,
"De plus, comme on ignore la culture de l'utilisateur on ne pourra donner comme explication que des exemples dans deux ou trois cultures importantes, mais qui connait les subtilités du chinois ou du russe ?"
Pourquoi 2/3 exemples alors qu'on peut toutes les afficher ?
Dans ce genre de cas, je pense que le plus pratique est d'afficher à l'utilisateur la représentation d'un montant dans sa culture (en lui indiquant ou non que le symbole monétaire est facultatif :
Avec un exemple aussi concret, il ne peut plus (doit plus) se tromper.
Et sinon méfiez vous des valeurs écrites en litéral pour les tests, elles peuvent être directement responsables de l'échec (ici non, mais je pense à des cas comme l'espace etc).