C# 将字符串转换为双精度,但缺少一个点

C# 将字符串转换为双精度,但缺少一个点,c#,C#,因此,我试图将字符串转换为double,但每次它转换字符串时,都会丢失圆点。 这是一个货币计算器 我的代码: private void listBoxLeft_SelectionChanged(object sender, SelectionChangedEventArgs e) { var valuta = listBoxLeft.SelectedItem.ToString(); var valutaCurrencySplit = valuta.Spl

因此,我试图将字符串转换为double,但每次它转换字符串时,都会丢失圆点。 这是一个货币计算器

我的代码:

 private void listBoxLeft_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        var valuta = listBoxLeft.SelectedItem.ToString();
        var valutaCurrencySplit = valuta.Split(':');
        var currency = valutaCurrencySplit[1];
        currency = currency.Replace(" ", String.Empty);

        Problem starts here...

        double finalNumber = Convert.ToDouble(finalString);

        Console.WriteLine(finalNumber);
    }
最终编号以74361结尾,但应为7.4361

您可以使用:

string finalString=“7.4361”;
decimal finalNumber=decimal.Parse(finalString、System.Globalization.CultureInfo.InvariantCulture);
// 7.4361

finalString有什么值?对不起,好像我删除了那一行。它确实与货币具有相同的价值。我试着再做一次ToString,看看是否修复了它。这个链接可能对你有帮助。我刚试过,它对我有用。可能是文化信息问题。