如何使用浮点数.解析以从字符串(如“5/2”)中获取十进制

本文关键字:十进制 获取 浮点数 何使用 字符串 | 更新日期: 2023-09-27 17:56:37

如果我有一个字符串"5/2",我怎么能使用浮点数。解析得到 2.5?当我在 Unity3D 中执行此操作时,我收到无效格式错误。它适用于整数,例如"5"会得到 5,但我正在制作一个图形计算器,很多时候线的斜率是分数。

如何使用浮点数.解析以从字符串(如“5/2”)中获取十进制

它不是一个有效的数字,它是一个需要计算的表达式。 您可以使用 DataTable.Compute .您也可以使用此技术计算更复杂的表达式。

var result = new DataTable().Compute("5/2",null);

注意:Datatable 很昂贵,因此您可以创建一个实例或静态成员来保存 DataTable 的引用。

阅读有关 MSDN 中的计算的详细信息。

您需要拆分字符串,单独解析值,然后进行除法。所以:

string[] tokens = input.Split('/');
float result = float.Parse(tokens[0])/float.Parse(tokens[1]);

当然,您应该为此添加错误处理,但这是"概念验证"质量代码。