Bonjour,
je n'arrive pas à convertir une string du type "12.20" en long.
le système me renvoi une exception format.
J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme
erreur par contre avec "12" comme valeur ça fonctionne.
Comment puis-je faire ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Manac'h
Bonjour,
si votre système est français, le séparateur est la virgule et pas le point. Pour forcer un style particulier (format à l'anglaise ici), utilisez la surcharge Convert.ToInt64 (Object, IFormatProvider).
Cordialement,
Patrice Manac'h MCS France
<r> a écrit dans le message de news: uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Bonjour,
si votre système est français, le séparateur est la virgule et pas le point.
Pour forcer un style particulier (format à l'anglaise ici), utilisez la
surcharge Convert.ToInt64 (Object, IFormatProvider).
Cordialement,
Patrice Manac'h
MCS France
<r> a écrit dans le message de news:
uqq%23sgj3FHA.1140@tk2msftngp13.phx.gbl...
Bonjour,
je n'arrive pas à convertir une string du type "12.20" en long.
le système me renvoi une exception format.
J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme
erreur par contre avec "12" comme valeur ça fonctionne.
Comment puis-je faire ?
si votre système est français, le séparateur est la virgule et pas le point. Pour forcer un style particulier (format à l'anglaise ici), utilisez la surcharge Convert.ToInt64 (Object, IFormatProvider).
Cordialement,
Patrice Manac'h MCS France
<r> a écrit dans le message de news: uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Sylvain Lafontaine
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez
d'abord passer par un type flotant et tronquer ou arrondir ensuite le
résultat. Peut-être que Int64.Parse() peut également donner un meilleur
résultat mais je n'ai pas essayé.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%23sgj3FHA.1140@tk2msftngp13.phx.gbl...
Bonjour,
je n'arrive pas à convertir une string du type "12.20" en long.
le système me renvoi une exception format.
J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme
erreur par contre avec "12" comme valeur ça fonctionne.
Comment puis-je faire ?
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Simon Mourier [SoftFluent]
Convert.ToInt64(string) est branché fort logiquement sur Int64.Parse(string) qui attend un format de Int64. Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20")); ou long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20", System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant) Simon. www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Convert.ToInt64(string) est branché fort logiquement sur Int64.Parse(string)
qui attend un format de Int64.
Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en
effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20"));
ou
long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20",
System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant)
Simon.
www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: eHC6Z1l3FHA.3976@TK2MSFTNGP15.phx.gbl...
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez
d'abord passer par un type flotant et tronquer ou arrondir ensuite le
résultat. Peut-être que Int64.Parse() peut également donner un meilleur
résultat mais je n'ai pas essayé.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%23sgj3FHA.1140@tk2msftngp13.phx.gbl...
Bonjour,
je n'arrive pas à convertir une string du type "12.20" en long.
le système me renvoi une exception format.
J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme
erreur par contre avec "12" comme valeur ça fonctionne.
Comment puis-je faire ?
Convert.ToInt64(string) est branché fort logiquement sur Int64.Parse(string) qui attend un format de Int64. Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20")); ou long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20", System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant) Simon. www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Sylvain Lafontaine
Une autre solution serait tout simplement de tronquer la chaîne de caractères avant de la parser.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Simon Mourier [SoftFluent]" wrote in message news:
Convert.ToInt64(string) est branché fort logiquement sur Int64.Parse(string) qui attend un format de Int64. Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20")); ou long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20", System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant) Simon. www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?
merci
Une autre solution serait tout simplement de tronquer la chaîne de
caractères avant de la parser.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
"Simon Mourier [SoftFluent]" <simon.mourier@mycompany.com> wrote in message
news:ORsLjDs3FHA.2196@tk2msftngp13.phx.gbl...
Convert.ToInt64(string) est branché fort logiquement sur
Int64.Parse(string) qui attend un format de Int64.
Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en
effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20"));
ou
long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20",
System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant)
Simon.
www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: eHC6Z1l3FHA.3976@TK2MSFTNGP15.phx.gbl...
Le type « long » ne possède pas de décimal, alors j'imagine que vous
devez d'abord passer par un type flotant et tronquer ou arrondir ensuite
le résultat. Peut-être que Int64.Parse() peut également donner un
meilleur résultat mais je n'ai pas essayé.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%23sgj3FHA.1140@tk2msftngp13.phx.gbl...
Bonjour,
je n'arrive pas à convertir une string du type "12.20" en long.
le système me renvoi une exception format.
J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme
erreur par contre avec "12" comme valeur ça fonctionne.
Comment puis-je faire ?
Une autre solution serait tout simplement de tronquer la chaîne de caractères avant de la parser.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Simon Mourier [SoftFluent]" wrote in message news:
Convert.ToInt64(string) est branché fort logiquement sur Int64.Parse(string) qui attend un format de Int64. Il faut donc convertir d'abord en flottant (Double, Single, ou Decimal) en effet.
donc:
long l = Convert.ToInt64(Convert.ToDouble("12,20")); ou long l = Convert.ToInt64(Convert.ToDouble("12.20"));
en fonction de la culture, ou
long l = Convert.ToInt64(Convert.ToDouble("12.20", System.Globalization.CultureInfo.InvariantCulture));
si on veut forcer une culture (ici Invariant) Simon. www.softfluent.com
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news:
Le type « long » ne possède pas de décimal, alors j'imagine que vous devez d'abord passer par un type flotant et tronquer ou arrondir ensuite le résultat. Peut-être que Int64.Parse() peut également donner un meilleur résultat mais je n'ai pas essayé.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
<r> wrote in message news:uqq%
Bonjour, je n'arrive pas à convertir une string du type "12.20" en long. le système me renvoi une exception format. J'ai essayé Convert.toInt64("12.20") et Convert.toInt64("12,20") et meme erreur par contre avec "12" comme valeur ça fonctionne. Comment puis-je faire ?