尝试将String转换为Double时出现System.FormatException

时间:2012-04-13 06:33:59

标签: c# windows-phone-7

当我在WP7 C#上尝试将String转换为Double时,我遇到了这个错误。

tokenvalue = Convert.ToDouble(saParsed[i].Replace(".", ","));

我在WP7中遇到此错误。 System.FormatException

中出现mscorlib.dll类型的第一次机会异常

有没有办法避免它,或者它只是模拟器的错误?

3 个答案:

答案 0 :(得分:7)

首先你可以尝试使用它:

double tokenvalue = Convert.ToDouble(saParsed[i], CultureInfo.InvariantCulture);

无论如何,你最好检查一下是否正常:

double tokenvalue;
if (Double.TryParse(saParsed[i], out tokenvalue) 
{ 
    // Do what you please here
}

答案 1 :(得分:0)

尝试这样的事情。

var tokenvalue = Convert.ToDouble(saParsed[i]);
var tokenValueText = tokenValue.ToString().Replace(".", ",");

希望如果saParsed [i]持有有效的double值,它将正常工作。

答案 2 :(得分:0)

尝试使用以下语句转换它:

double tokenvalue; 
if (double.TryParse(saParsed[i], NumberStyles.Any, 
    NumberFormatInfo.CurrentInfo, out tokenvalue))
{  
    // Convertion was successfull
}