J'ai plusieurs milliers de lignes d'un code source d'application web, initialement écrit sur un système de développement américain, à maintenir. Il fait un usage intensif des chaînes d'instructions SQL, qui sont combinées à la volée, par ex.C# définir le format chaîne de double/floats pour être US anglais par défaut
string SQL = "select * from table where double_value = " + Math.Round(double_value, 2);
Ne pas commenter le style de programmation mauvaise, qui ne m'a pas aidé dans ce cas :)
Le point crucial: Mon système utilise un paramètre régional allemand, qui à son tour conduit à de mauvaises instructions SQL, comme ceci:
"select * from table where double_value = 15,5"
(Notez la virgule comme séparateur décimal au lieu d'un point). Question: Quelle est la manière la plus "élégante" de changer les paramètres régionaux de l'application Web dans ce cas) pour les États-Unis ou le Royaume-Uni afin d'éviter d'être obligé de changer et d'inspecter chaque ligne de code? .NET 3.5 n'est pas une option (cela me donnerait la chance d'écraser ToString()
dans une classe d'extension.)
Ce n'est pas mauvais style de programmation, qui est un style de programmation horrible. –
Je vous recommande fortement d'en faire une procédure stockée et de passer votre valeur arrondie en tant que paramètre numérique, pas une chaîne. –
@neil: Vous devez marquer la réponse qui vous aide le plus en cliquant sur la petite "case à cocher" à proximité. Veuillez le faire pour vos autres questions (répondues). (Cela permettra également aux gens d'être plus disposés à vouloir vous aider et à répondre à vos questions de façon réfléchie ...) –