2014-07-03 3 views
2

Mon site Web extrait des données d'un fichier texte dans une base de données. Après avoir lu les données, je convertir des valeurs de chaîne-en double, en utilisant:Même culture, différentes conversions de valeur

oracom.Parameters.Add("nstpreisvm", OracleDbType.Double).Value = Convert.ToDouble(_material.Mat_StPreisVm); 

Si je vérifie les résultats dans la base de données maintenant, (La colonne attend le NUMBER -format), je reçois deux valeurs différentes: Sur mon localhost via Visual Studio 2010, la base de données renvoie 10,15 - Mais si je fais le processus sur le serveur web, la base de données ne montre que 10. Comment cela peut-il arriver?

Je mis en œuvre un peu lable sur le site Web maintenant, le remplir avec la culture actuelle sur le chargement de la page:

label.Text = Thread.CurrentThread.CurrentCulture.ToString(); 

Le CurrentCulture est en-GB pour les deux cas, alors quel est le problème ici? Est-ce que je manque quelque chose?


Mes fenêtres locales est Win7 SP1 avec une langue-pack allemand, le serveur est Win2008 R2 avec installation standard anglais.

+1

Quel est le type prévu par la colonne où vous stockez cette valeur? – Aymeric

+0

@Aymeric Il s'agit d'une base de données Oracle, il attend pour cette colonne un 'NUMBER' – DatRid

Répondre

1

Nous avons rencontré un problème similaire sur un serveur client où le client avait modifié manuellement le symbole du séparateur décimal pour une culture particulière sur ce serveur. Vous pouvez le vérifier en utilisant:

Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator 

je suggère spécifier explicitement le symbole de séparateur décimal lorsque vous faites l'analyse syntaxique:

Double.Parse("1,25", new NumberFormatInfo(){ NumberDecimalSeparator = "," }); 
+0

Je vais l'essayer, toujours lors d'une réunion. Mais merci pour la réponse, je vous donne votre avis plus tard! – DatRid

+0

Cela a fonctionné, merci beaucoup! Je n'ai jamais pensé que je devais aller si loin juste à cause de l'analyse d'une ficelle ... – DatRid

Questions connexes