et bien en gros, j'affiche les attributs de mon objet sur une page web.
Lorsque j'affiche des montants je formatte la string de cette façon:
txtChampsText=(monObjet.attribut).ToString("#,##0.00").Replace(",",".");
ce qui affiche un montant du genre : "1 111.00" si le montant était "1111,0" le replace permet de ne mettre que des point virgule.
L'utilisateur peut modifier ces attributs. dans ce cas là, je dois enregistrer les modifications.
j'enregistre dans une propriété de mon objet ce que l'utilisateur a entré:
monObjet.attribut =conv.ConvertToSingle(txtChamps.Text.Replace(" ",""));
le conv est une classe qui définit la méthode ConvertToSingle
voici le code de la classe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
/// <summary>
/// Permet de convertir un objet en string ou en Single (avec un point et non une virgule)
/// </summary>
public class Conversion
{
CultureInfo _ci;
public Conversion(String culture)
{
_ci= new CultureInfo(culture);
//"en-US"
}
public Single ConvertToSingle(object valeur)
{
Single montant = 0;
//Pour avoir un point et non une virgule
try
{
montant = Convert.ToSingle(valeur,_ci);
}
catch(Exception)
{
montant=0;
}
return montant;
}
} |
et donc, comme il y a un espace dans mon champ text, et bien ça me retourne toujours un 0...
donc voilà
ma version est 1.1.4 (c bien dans à propos que l'o nvoit ça?)
Partager