C# 将字符串转换为双精度,但缺少一个点
因此,我试图将字符串转换为double,但每次它转换字符串时,都会丢失圆点。 这是一个货币计算器 我的代码:C# 将字符串转换为双精度,但缺少一个点,c#,C#,因此,我试图将字符串转换为double,但每次它转换字符串时,都会丢失圆点。 这是一个货币计算器 我的代码: private void listBoxLeft_SelectionChanged(object sender, SelectionChangedEventArgs e) { var valuta = listBoxLeft.SelectedItem.ToString(); var valutaCurrencySplit = valuta.Spl
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,看看是否修复了它。这个链接可能对你有帮助。我刚试过,它对我有用。可能是文化信息问题。