我不斷收到一條錯誤消息,指出我無法將字符串轉換爲參考第39行的double。是否有人可以查看代碼並讓我知道我在哪裏?我覺得第25行應該爲變量「R」列出兩倍。在C#中轉換問題#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Present_Value
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//Declare global variables.
/* double F = int.Parse(futureTextBox.Text);
double R = int.Parse(interestTextBox.Text);
double N = int.Parse(sitTextBox.Text);*/
private double CalculateData(int F, int R, int N)
{
double P = F/(1 + R)*N;
return P ;
}
private void button1_Click(object sender, EventArgs e)
{
int n = int.Parse(sitTextBox.Text);
int f = int.Parse(futureTextBox.Text);
int r = double.Parse(intTextBox.Text);
presentValuelabel.Text = CalculateData(f,r,n).ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void exitButton_Click(object sender, EventArgs e)
{
//Close this form.
this.Close();
}
}
}
你聲明'int'變量,但嘗試指派'和'double.Parse()'方法double'。嘗試將'double.Parse()'改爲'int.Parse()'。 – Stradivarius
哪一行是39行25行?你應該發佈[mcve]並讓我們輕鬆回答。 – Enigmativity
請記住,計算'F /(1 + R)* N'(就像它在您的問題中所述)純粹是用整數數學計算的。因此,例如,的'的結果(1 /(1 + 2)* 3)''是使用0'整數運算。但是,如果我更改爲雙打然後'(1.0 /(1.0 + 2.0)* 3.0)''給出1.0'。 – Enigmativity