我讨厌问这样一个愚蠢的问题,但我刚刚开始,所以在这里。格式化Math.Pow输出
myString = "2 to 2.5 power is " + Math.Pow(2, 2.5);
我想将结果数字格式化为4位小数,并在MessageBox中显示字符串。我似乎无法弄清楚或在书中找到答案。谢谢!
我讨厌问这样一个愚蠢的问题,但我刚刚开始,所以在这里。格式化Math.Pow输出
myString = "2 to 2.5 power is " + Math.Pow(2, 2.5);
我想将结果数字格式化为4位小数,并在MessageBox中显示字符串。我似乎无法弄清楚或在书中找到答案。谢谢!
ToString方法应该做的伎俩。您可能需要在MSDN中查找以查找更多格式选项。
Math.Pow(2, 2.5).ToString("N4")
非常感谢。工作很好。 – Jimmy 2010-02-06 18:00:09
string.format("2 to 2.5 power is {0:0.000}", Math.Pow(2, 2.5));
这是三个不是四个地方,结果不在'MessageBox'中。 – jason 2010-02-06 18:19:09
有关所有选项,请参阅http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx。也许D4更好。 – 2010-02-06 17:55:42
我不这么认为,起初我的错误。 D4会在小数点前给出正确的位数 – 2010-02-06 18:00:46
这不是一个愚蠢的问题:其他几个答案是错误的。
MessageBox.Show(string.Format("2 to 2.5 power is {0:F4}", Math.Pow(2, 2.5)));
要显示在您使用MessageBox.Show
一个MessageBox
一个string
。特别是,有一个overload接受将显示在MessageBox
中的单个string
参数。因此,我们需要
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);
不是一个愚蠢的问题,解决这个问题的文档是糟糕透顶。 – 2010-02-06 17:56:37
唯一愚蠢的问题就是没有被动摇的问题。 – 2010-02-06 17:59:46
.NET格式字符串备忘单:http://john-sheehan.com/blog/net-cheat-sheets/ – 2010-02-06 18:05:29