C#:将用户输入字符串 "Pi" 转换为双精度 Math.PI
C#: Convert user input string "Pi" to double Math.PI
例如
弧度与度的换算,7 Pi 弧度 = 1260 度
弧度的用户输入。
正在尝试将用户输入的字符串 "Pi" 转换为 Math.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;
这取决于您允许用户输入的内容。
如果它只是 0.5 Pi
或 3 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 这样的常量。
例如
弧度与度的换算,7 Pi 弧度 = 1260 度
弧度的用户输入。
正在尝试将用户输入的字符串 "Pi" 转换为 Math.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;
这取决于您允许用户输入的内容。
如果它只是 0.5 Pi
或 3 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 这样的常量。