Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Range validator

1 réponse
Avatar
BCS
Bonjour à toutes et à tous,

J'ai un prb avec le range validator.
En effet, je test la valeur d'un champ pour une valeur comprise entre 0.0001
et 23.9999
Donc dans mon range validator, je met la minimum value à 0.0001 et la
maximum value à 23.9999
Mon soucis est que sur mon pc, pas de prob pcq mon symbole de décimale est
le point mais sur mon serveur sur lequel je publie, le symbole de décimale
est la virgule ==> erreur à l'exécution en me disant que 23.99999 ne peut
être converti en double dans mon range validator.
Je ne suis pas maitre du symbole de décimale, comment faire ???

Merci d'avance

Chris

1 réponse

Avatar
Merlin
> Mon soucis est que sur mon pc, pas de prob pcq mon symbole de décimale est
le point mais sur mon serveur sur lequel je publie, le symbole de décimale
est la virgule ==> erreur à l'exécution en me disant que 23.99999 ne peut
être converti en double dans mon range validator.
Je ne suis pas maitre du symbole de décimale, comment faire ???



Le point décimal est dicté par le langage de windows. Il est étonnant
que tu développes avec un windows réglé sur l'anglais ou l'américain
alors que visiblement ton appli doit tourner sur un serveur français.
Ce n'est pas le plus judicieux. Mais peut-être ne peux tu faire
autrement ?

Sinon, la façon la plus sûre pour éviter le problème des constantes
décimales en dur (et leur traduction selon la culture) c'est
d'initialiser ces valeurs par code, la syntaxe des langages ne
changeant pas en fonction de la langue du runtime (heureusement :-) ),
tu peux écrire Machin.ValeurMini = 0.0001; dans ton code à l'init de la
page, dans tous les cas la valeur sera acceptée...
Si la valeur peut être modifiée au runtime (par le user ou un fichier
de config) il faut alors passer par les infos de culture pour faire une
transformation correcte.

De façon générale, toutes les constantes chaînes mais aussi les
décimaux et les dates posent moins de pb si elles sont initialisées par
code au lieu de saisie en dur dans les composants.

--

///3rL1n____