格式化Math.Pow输出

时间:2010-02-06 17:50:12

标签: c# formatting

我讨厌提出这样一个愚蠢的问题,但我刚刚开始,所以就这样了。

myString = "2 to 2.5 power is " + Math.Pow(2, 2.5);

我想将结果数字格式化为4位小数并在MessageBox中显示字符串。我似乎无法弄清楚这一点或在书中找到答案。谢谢!

5 个答案:

答案 0 :(得分:4)

ToString方法应该可以解决问题。您可能需要在MSDN中查找它以查找更多格式选项。

Math.Pow(2, 2.5).ToString("N4")

答案 1 :(得分:3)

要在string中显示MessageBox,请使用MessageBox.Show。特别是,overload接受一个string参数,该参数将显示在MessageBox中。因此,我们需要

string s = // our formatted string
MessageBox.Show(s);

现在,让我们弄清楚string是什么。这里有用的方法是String.Format。这里有用的参考是MSDN上的Standard Numeric Format Strings页面。特别是,我提请你注意fixed-point specifier "F" or "f"

  

定点(“F”)格式说明符将数字转换为“-ddd.ddd ...”形式的字符串,其中每个“d”表示一个数字(0-9)。字符串以减号开头如果数字是负数。

精度说明符表示所需的小数位数。

因此,我们想要

double result = Math.Pow(2, 2.5);
string s = String.Format("2 to 2.5 power is {0:F4}", result);

所以,把它们放在一起,

double result = Math.Pow(2, 2.5);
string s = String.Format("2 to 2.5 power is {0:F4}", result);
MessageBox.Show(s);

答案 2 :(得分:2)

string.format("2 to 2.5 power is {0:0.000}", Math.Pow(2, 2.5));

答案 3 :(得分:1)

Math.Pow(2, 2.5).ToString("N4") 

是你想要的。

more formatting options

答案 4 :(得分:1)

这不是一个愚蠢的问题:其他几个答案都是错误的。

MessageBox.Show(string.Format("2 to 2.5 power is {0:F4}", Math.Pow(2, 2.5)));