gpt4 book ai didi

c# - 如何将字符串转换为十进制表达式?

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:08 24 4
gpt4 key购买 nike

我正在尝试将字符串转换为执行算术表达式但得到的是格式表达式。我想要计算表达式和最终答案。

// original value
string text = @"4'-8"x5/16"x20'-8 13/16";

string path = text.Replace("'", "*12").Replace("-", "+").Replace("x", "+").Replace(" ", "+").Replace(@"""", "");
System.Console.WriteLine("The original string: '{0}'", text);
System.Console.WriteLine("The final string: '{0}'", path);

Console.WriteLine();

decimal d = decimal.Parse(path, CultureInfo.InvariantCulture);
Console.WriteLine(d.ToString(CultureInfo.InvariantCulture));

// after converting got this value in debug
//'4*12+8+5/16+20*12+8+13/16'

最佳答案

您可以使用 DataTable 类来评估数学表达式字符串,使用 Compute() 方法,传递一个 String.Empty 作为第二个参数。

var parsingEngine = new DataTable(); //in System.Data
int i = (int)parsingEngine.Compute("3 + 4", String.Empty);
decimal d = (decimal)parsingEngine.Compute("3.45 * 76.9/3", String.Empty);

请注意,Compute 返回一个对象,您必须小心地将其转换为基于您的数学表达式应产生的结果的适当类型。

关于c# - 如何将字符串转换为十进制表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com