J'ai cette chaîne "45043". Comment puis-je convertir en décimal 450,43 (je veux utiliser cultureinfo)chaîne sans point à décimal
TKS
J'ai cette chaîne "45043". Comment puis-je convertir en décimal 450,43 (je veux utiliser cultureinfo)chaîne sans point à décimal
TKS
string s = "45043";
decimal d = decimal.Parse(s)/100;
(je ne suis pas vraiment sûr où CultureInfo
vient en elle. Est-ce que vous voulez convertir le decimal
en arrière string
ou quelque chose comme ça)
Mieux que Preet au moins, car il fonctionnera pour les nombres avec plus et moins de 3 chiffres à la gauche de la décimale. –
oui je suis d'accord. C'est beaucoup mieux! –
vous auriez quelque chose comme:
string x = "45043";
double num = Double.Parse(s, CultureInfo.GetCultureInfo("de-DE").NumberFormat);
il suffit de remplacer la culture que vous voulez ou dériver dynamiquement.
Utiliser CultureInfo? Vous voulez dire utiliser des virgules dans certaines cultures et périodes dans d'autres?
Que diriez-vous:
var str = "45043";
var strToDecimal = (decimal.Parse(str)/100).ToString();
var strExplicit = (decimal.Parse(str)/100).ToString(System.Globalization.CultureInfo.CurrentCulture.NumberFormat); // more explicit version of what's happening above.
Difficile de dire quelle est la question exacte, mais votre réponse couvre au moins une interprétation possible de la question. – Larsenal
Pour afficher TryParse
et l'utilisation de CultureInfo
string input = "45053";
decimal result;
if (decimal.TryParse(input, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out result))
{
result /= 100M;
}
else
{
// invalid input, handle in whatever way you deem appropriate
}
Voulez-vous le convertir dans le type 'decimal' ou voulez-vous juste pour analyser le' string' et le reformater selon CultureInfo? – Larsenal