C#,表达式(string)转换成Double

WIKESOFT
WIKESOFT 官方账号
2010-08-10 10:14:49
static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = Convert.ToDouble(fomula);

Console.WriteLine(dd);

Console.ReadLine();
}
这段代码要报异常,输入的字符串的格式不正确
double dd = Convert.ToDouble(fomula);
请问Csdn上的友友们,string fomula = "(1000 + 200) / 1000 * 2"; 怎么计算它的结果呢


...全文
1688 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Peter200694013 2010-08-10
  • 打赏
  • 举报
回复

string fomula = "(1000 + 200) / 1000 * 2";

Object o = new DataTable().Compute(fomula,"");

double d;
if (Double.TryParse(o.ToString(), out d))
Console.WriteLine(d);
wubbzz 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 lstcyzj 的回复:]
static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = Convert.ToDouble(fomula);

……
[/Quote]

这种应该使用js中的eval。
C#中有接口,注意找找看。
wuyq11 2010-08-10
  • 打赏
  • 举报
回复
object o=new DataTable().Compute("(1000 + 200) / 1000 * 2","");
Convert.TryDouble
兔子-顾问 2010-08-10
  • 打赏
  • 举报
回复
double ss = (1000 + 200) / 1000 * 2;
不知道他想的是不是就要整数的。如果要数值上正确。应该是
double ss = (1000.0 + 200.0) / 1000.0 * 2;
chenchenyangll 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]

C# code

static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = (double)new System.Dat……
[/Quote]


学习了 接分
xy325432 2010-08-10
  • 打赏
  • 举报
回复

double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);

ss的值不对?
c2008200613 2010-08-10
  • 打赏
  • 举报
回复
注意类型的转换啊啊
Icefile 2010-08-10
  • 打赏
  • 举报
回复
为什么一定要定义为string类型呢
兔子-顾问 2010-08-10
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = (double)new System.Data.DataTable().Compute(fomula, "");

Console.WriteLine(dd);

Console.ReadLine();
}
Purple_Sky2010 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]

C# code

static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = (double)new System.Dat……
[/Quote]


楼上说的没错,楼主试试哈
Alfredknox 2010-08-10
  • 打赏
  • 举报
回复
就像string str="0.1";convert.toint32(str);一样报错,这个式子应该先把str转为double类型再转才可以即:convert.toint32(convert.todouble(str));
Alfredknox 2010-08-10
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
double dd = (double)new DataTable().Compute(fomula, "");

Console.WriteLine(dd);

Console.ReadLine();
}

LZ这样写:string fomula = "(1000 + 200) / 1000 * 2";
double dd = Convert.ToDouble(fomula);肯定是错误的,它会把(1000 + 200) / 1000 * 2当作double类型去处理了,所以肯定会报错
明哥说编程 2010-08-10
  • 打赏
  • 举报
回复


Double dd=Convert.ToDouble(new DataTable().Compute("(1000 + 200) / 1000 * 2",""));
xihuanxiatian 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 lstcyzj 的回复:]
static void Main(string[] args)
{
double ss = (1000 + 200) / 1000 * 2;
Console.WriteLine(ss);


string fomula = "(1000 + 200) / 1000 * 2";
……
[/Quote]
string fomula = "(1000 + 200) / 1000 * 2";
double dd = Convert.ToDouble(fomula);

这个string中有这么多运算符 怎么转换成double类型

汗。。。
内容概要:本文系统研究了虚拟同步发电机(VSG)的惯量-阻尼协同自适应并网控制策略及其稳定性分析,聚焦于提升高比例可再生能源接入背景下电网的频率稳定性。通过Simulink仿真平台与Matlab代码实现,构建了VSG并网系统的动态模型,深入探讨了惯量与阻尼参数的自适应调节机制,以优化系统对频率波动的响应能力。研究涵盖了双机并联VSG的功率精确分配、微电网黑启动过程、虚拟阻抗的引入以及预同步控制等关键技术,并结合根轨迹分析与调节系数对比,验证了所提控制策略在提升系统稳定性和动态性能方面的有效性。文章强调了协同自适应控制在现代电力系统中的关键作用,为微电网和分布式能源系统的稳定运行提供了理论支持和技术方案。; 适合人群:具备电力系统、自动控制或新能源并网等相关专业知识背景,熟悉Matlab/Simulink仿真工具,从事电力电子、微电网控制、可再生能源并网等领域科研或工程应用的研发人员及研究生。; 使用场景及目标:①掌握VSG在微电网及并网系统中的高精度建模与仿真方法;②深入理解惯量-阻尼协同自适应控制对电网频率稳定的优化机制;③应用于微电网黑启动、功率均分控制、虚拟阻抗设计及预同步等实际工程场景的算法开发与性能验证; 阅读建议:建议结合提供的Matlab代码与Simulink模型进行同步仿真操作,重点关注参数自适应调节模块的设计逻辑、根轨迹稳定性分析及不同调节系数下的动态响应对比,以深化对控制策略内在机理的理解与实际应用能力。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧