如何将字符串转换为double?

时间:2013-06-07 14:15:36

标签: c# parsing double

我需要一些转换帮助。 我想将一个字符串转换为一个双字符串,所以我首先这样做。

double meterStartvalue = double.Parse(startMeterReading.Text);

只要你在文本框中放了一些东西就可以了。这并不好。所以我试着这样做:

double.TryParse(startMeterReading.Text, out meterStartvalue);

在执行 TryParse 时出现此错误:

  

参数2:无法从'out meterStartvalue'转换为'out double'

     

'double.TryParse(string,out。)的最佳重载方法匹配   double)'有一些无效的参数

还得到了meterStartvelue上下文不存在的错误,因为我在代码中的某些地方使用了它。

2 个答案:

答案 0 :(得分:9)

您需要在调用方法之前声明meterStartValue,否则编译器不知道您在说什么:

double meterStartValue;
if (double.TryParse(startMeterReading.Text, out meterStartvalue))
{
    // Yes, we managed to parse the text.
}
else
{
    // Failed to parse it
}

请注意,必须为其提供初始值;当方法返回时,它将被明确赋值(如果解析失败,则值为0)。

不幸的是,没有办法在单个语句中声明变量调用方法(使用变量作为参数)。

答案 1 :(得分:0)

在你的代码中使用它之前,你会忘记宣布你的meterStartValue变量。

试试这个;

double meterStartValue;

if (double.TryParse(startMeterReading.Text, out meterStartvalue))
{
    // Success
}

由于Double.TryParse返回boolean,您可以使用if语句检查对话是否成功。

Return Value
Type: System.Boolean
true if string was converted successfully; otherwise, false.