C# 两个字符的整数到字符?
所以我在做一个程序,计算表达式中的X,例如,如果我输入2*X=6,那么它会说X=3。 我的代码:C# 两个字符的整数到字符?,c#,C#,所以我在做一个程序,计算表达式中的X,例如,如果我输入2*X=6,那么它会说X=3。 我的代码: string[]exps=textBox1.Text.Split('='); DataTable dt=新的DataTable(); 对于(int i=0;i
string[]exps=textBox1.Text.Split('=');
DataTable dt=新的DataTable();
对于(int i=0;i<50;i++)
{
字符串s=exps[0]。Replace('x',Convert.ToChar(i.ToString());//您不必使用Replace(char,char)
重载。还有一个重载:
string s = exps[0].Replace("x", i.ToString());
你可能已经意识到了这一点,但你求解方程的方法只适用于一种非常特殊的方程。主要有以下问题:
- 解决方案必须是介于0和49之间的整数
- 必须只有一种解决办法
- 乘法必须明确指出,即
5x
并不意味着5乘以x
- 右侧必须是整数。通过使用
exps[1]
调用Compute
(当然,使用x
替换项),可以轻松解决此问题
将字符转换为字符串即可:
exps[0].Replace("x", i.ToString());
可以创建包含两列的数据表
(1) 对于列名“X”,这将保留值和
(2) 将具有表达式的计算列
示例代码:
var dt=new DataTable();
dt.Columns.Add(new DataColumn("X", typeof(float)));
var exprCol=new DataColumn("Expr");
exprCol.Expression="X+10";
dt.Columns.Add(exprCol);
var row = dt.NewRow();
row["X"] = 5;
dt.Rows.Add(row);
var calculatedValue=row["Expr"];
你能给我解释一下如何用浮点数,例如5.10+x=5.20吗?@Scholler那么你就不能用你目前的方法——试着用一堆值看看哪个有效。你可能需要某种算法来重新排列方程。问题变得更难了。
var dt=new DataTable();
dt.Columns.Add(new DataColumn("X", typeof(float)));
var exprCol=new DataColumn("Expr");
exprCol.Expression="X+10";
dt.Columns.Add(exprCol);
var row = dt.NewRow();
row["X"] = 5;
dt.Rows.Add(row);
var calculatedValue=row["Expr"];