C#:将用户输入字符串“Pi”转换为双精度 Math.PI

本文关键字:转换 双精度 PI Math Pi 用户 输入 字符串 | 更新日期: 2023-09-27 17:57:15

例如

在弧度和度之间转换,7 Pi 弧度 = 1260 度

弧度的用户输入。

尝试将用户输入字符串"Pi"转换为 Math.Pi,以进行计算。

C#:将用户输入字符串“Pi”转换为双精度 Math.PI

这取决于您允许用户的输入。

如果它只是像 0.5 Pi3 Pi 这样的东西,并且你想要它的实际值,你可以简单地从输入字符串中删除Pi部分,将剩余的字符串解析为一个数字,然后将其乘以Math.PI

Regex pi = new Regex(@"'s*pi's*", RegexOptions.IgnoreCase);
var v = pi.Replace(input, "");
double d = Convert.ToDouble(v);
double rad = d * Math.Pi;

如果您有更复杂的输入(如3/4 Pi甚至更复杂的公式),则需要某种公式解释器。他们中的许多人能够处理像 Pi 这样的常量。

编辑:

看起来您需要去除字符串,然后使用公式。

像这样:

const string pi = "pi";
var input = "7pi";
var containsPi = (input.IndexOf(pi) > -1)
var inputDecimal = Convert.ToDecimal(input.Replace(input, pi, ""));
if (containsPi ) inputDecimal = inputDecimal * Math.Pi;
var resultInDegreees = inputDecimal * 180.0 / Math.Pi;