double d = 0.005;
d = d/100;
string str = Convert.ToString(d);
output of str = 5E-05
但我需要爲0.00005 輸出,同時轉換爲字符串0.00005成爲5E-05。
我該如何解決?
double d = 0.005;
d = d/100;
string str = Convert.ToString(d);
output of str = 5E-05
但我需要爲0.00005 輸出,同時轉換爲字符串0.00005成爲5E-05。
我該如何解決?
您需要的IFormatProvider:
http://www.csharp-examples.net/iformatprovider-numbers/
http://msdn.microsoft.com/en-us/library/7tdhaxxa.aspx
編輯:上面的海報給你更多的細節。
using System;
namespace test1{
class MainClass {
public static void Main (string[] args) {
double d = 0.005;
d = d/100;
string str = String.Format("{0:0.#####}",d);
Console.WriteLine ("The double converted to String: "+str);
}
}
}
這應該編譯並顯示你想要的。
它不能得到任何更清晰比這
編輯: 對於更具體的例子看看這裏:`
`
你想指定將double轉換爲字符串的格式。 Double.ToString
不會讓你這樣做(它使用科學記數法),所以你應該使用String.Format
,而不是。
這裏是你的代碼,更新:
string str = String.Format("{0:0.#####}", 0.00005);
事實上,Double.ToString實際使用的String.Format引擎蓋下。請參閱此鏈接更多:MSDN docs about Double.ToString
請參閱以下鏈接的String.Format
更多的例子: Examples of using String.Format
當然'Double.ToString'允許。你只是忽略了過載。 – leppie
請注意,另一張海報使用了我的一些信息。請在信用到期時給予信用。 –
我找到了解決辦法:
string str = d.ToString("F99").TrimEnd("0".ToCharArray());
這是工作的罰款。但是,這是怎麼回事,我不知道。這適用於動態雙重價值。
爲你們兩個人的問題,誰回答。
我試過了,但它不工作。 – Sahil
@Sahil:我編輯了我的帖子,以獲得更全面的答案。你需要更全面地查看文檔,以便你自己解決問題。 – RedComet
這對我提供的一個值是正確的。但如果我的價值像0.0005那麼它不工作......因爲我的雙重價值不是靜態的,它依賴於用戶輸入而改變。 – Sahil