2010-02-06 92 views
3

我討厭問這樣一個愚蠢的問題,但我剛剛開始,所以在這裏。格式化Math.Pow輸出

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

我想將結果數字格式化爲4位小數,並在MessageBox中顯示字符串。我似乎無法弄清楚或在書中找到答案。謝謝!

+0

不是一個愚蠢的問題,解決這個問題的文檔是糟糕透頂。 – 2010-02-06 17:56:37

+1

唯一愚蠢的問題就是沒有被動搖的問題。 – 2010-02-06 17:59:46

+1

.NET格式字符串備忘單:http://john-sheehan.com/blog/net-cheat-sheets/ – 2010-02-06 18:05:29

回答

4

ToString方法應該做的伎倆。您可能需要在MSDN中查找以查找更多格式選項。

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

非常感謝。工作很好。 – Jimmy 2010-02-06 18:00:09

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

這是三個不是四個地方,結果不在'MessageBox'中。 – jason 2010-02-06 18:19:09

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

是你想要什麼,我認爲。

more formatting options

+0

有關所有選項,請參閱http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx。也許D4更好。 – 2010-02-06 17:55:42

+0

我不這麼認爲,起初我的錯誤。 D4會在小數點前給出正確的位數 – 2010-02-06 18:00:46

1

這不是一個愚蠢的問題:其他幾個答案是錯誤的。

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

要顯示在您使用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);