回答
您可以使用下列任一都將給予2.60869565217391:
double result = 60/23d;
double result = 60d/23;
double result = 60d/ 23d;
double result = 60.0/23.0;
但
double result = 60/23; //give 2
說明:
如果任何數量爲雙它會給出一個雙
編輯:
文檔
根據下列規則進行的表達的評價:
如果其中之一浮點類型是double的,表達式的計算結果是double(或者在關係表達式或布爾表達式中爲bool)。
如果表達式中沒有double類型,則評估爲float(或關於關係或布爾表達式的bool)。
60和23的整數文字,所以你在做整數除法,然後分配給雙。整數除法的結果是2
嘗試
double result = 60.0/23.0;
或等價
double result = 60d/23d;
凡d後綴通知你的意思是寫一個雙重文字的編譯器。
它將工作
double result = (double)60/(double) 23;
或等價
double result = (double)60/23;
沒有使用C#了一段時間,但你將兩個整數,這據我記得,結果也是一個整數。
你可以強迫你的電話號碼文字是通過添加字母 「d」 雙打,喜歡你的:
double result = 60d/23d;
好的,這個工程。但如何做到這一點,如果我有這個:double result = 60d /someList.Count; – Simon 2010-11-12 08:52:58
對另一個操作數使用Convert函數。例如:Convert.ToDouble(someList.Count) – 2010-11-12 08:57:11
double result = 60d /System.Convert.ToDouble(someList.Count); – 2010-11-12 08:59:50
雙重結果= 60.0/23.0;
這是最好的做法是正確的裝點他們的相應類型的數字。這樣不僅可以避免您遇到的錯誤,還可以使代碼更具可讀性和可維護性。
double x = 100d;
single x = 100f;
decimal x = 100m;
添加到迄今爲止所說的內容... 60/23是對兩個常量的操作。編譯器將結果識別爲常量並預先計算答案。由於該操作在兩個整數上,因此編譯器使用整數結果60/23的整數運算結果爲2;所以編譯器有效創建下列代碼:
double result = 2;
正如已經指出的那樣已經,你需要告訴編譯器不使用整數,改變一個或兩個操作數,以非整數的將獲得編譯器使用浮點常量。
- 1. 簡單C問題
- 2. 簡單的C問題
- 3. 簡單的語法問題
- 4. 簡單的C/C++的問題
- 5. C#NHibernate簡單問題
- 6. C++簡單線程問題
- 7. C#簡單IF或問題
- 8. C++鏈表簡單問題
- 9. php語法簡單問題
- 10. JQuery簡單加法問題
- 11. iphone/Objective C的(簡單)的問題
- 12. Objective-C的簡單的內存問題
- 13. 簡單的C#的foreach對LINQ問題
- 14. C#簡單列表顯示的問題
- 15. 簡單的反射問題C#
- 16. 有很簡單的C代碼問題
- 17. 簡單程序的C#問題
- 18. C:簡單的指針問題
- 19. 簡單的C++文件開口問題
- 20. 簡單的C++模板定義問題
- 21. C#簡單的「for」和「int」問題
- 22. 問題在C簡單的DLL ++
- 23. 簡單的數學問題在C#
- 24. C#中的簡單LINQ問題#
- 25. 簡單的ASP.NET/C#問題 - 事件
- 26. 簡單的C#加密程序問題
- 27. c#一個簡單的調試問題
- 28. .NET中簡單的OCR問題C#
- 29. 簡單的C#事件參數問題
- 30. 非常簡單的io問題C++
我認爲這應該被標記爲答案,因爲標記爲答案的補全複製了此.. – Nick 2010-11-12 12:39:05
@尼克,我沒有複製它,如果你認爲我更新它 – 2010-11-12 16:11:20