C#:将用户输入字符串“Pi”转换为双精度 Math.PI
本文关键字:转换 双精度 PI Math Pi 用户 输入 字符串 | 更新日期: 2023-09-27 17:57:15
例如
在弧度和度之间转换,7 Pi 弧度 = 1260 度
弧度的用户输入。
尝试将用户输入字符串"Pi"转换为 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 这样的常量。
编辑:
看起来您需要去除字符串,然后使用公式。
像这样:
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;