2
A
回答
12
double
或decimal
都可以正常工作。
但是,如果你只寫:
// Wrong
double x = 2/4;
那麼它仍然會使用整數師 - 因爲兩個操作數的除法運算符是int
類型。
您可以投一個或兩個操作數增加一倍,或者使用雙字面一個或兩個人:
// Any of these...
double x = (double) 2/4;
double x = 2/(double) 4;
double x = (double) 2/(double) 4;
double x = 2.0/4;
double x = 2/4.0;
double x = 2.0/4.0;
double x = 2d/4;
double x = 2/4d;
double x = 2d/4d;
注意兩個double
和decimal
是浮點類型。它們不代表任意的有理數(分數)。例如,既不能準確表示1/3。如果你需要一個合理的數字類型,你必須自己編寫或尋找第三方的實現。
4
做除數確保至少有一個或被除數是一個浮點數:
double d = 2/4.0;
Console.WriteLine(d): // Writes: 0.5
3
使用2/4.0
迫使它使用浮點運算。然後你就可以將其存儲在雙:
double d = 2/4.0;
如果你有變量,真正的代碼,投除數爲double
:
int i = 2;
int j = 4;
double d = i/(double)j;
1
你可以投,
double value = (double)2/4;
或者你可以提供小數點輸入
double value = 2.0/4.0;
1
float或double將完成這項工作。
float x = 2f/4f;
double x = 2d/4d;
請注意,您可以通過追加適當的字符(f或d)來指定常量值爲float或double。
要記住的重要一點是,第一個數據類型(左側)將決定結果的數據類型。 編輯:實際上,在這種情況下,任一值是一個浮點/雙精度將工作
所以......
var x = 2/4;//x is int (0)
var x = 2f/4;//x is float (0.5f)
var x 2d/4;//x is double (0.5d)
C#將自動轉換INT浮動/雙左右...
float x = 2/4;//result type is int, but gets stored as convert float
不管怎樣,希望有助於解釋一些事情
相關問題
- 1. C++ Uint8數據類型轉換爲const char *數據類型
- 2. 作爲數據類型的C#接口
- 3. 將MySQL Decimal數據類型類型轉換爲c#float數據類型
- 4. 正常化數據,平均值爲0,標準差爲0.5,R
- 5. 不同數據類型作爲值的C++映射
- 6. C#中值爲20 000 000,50的數據類型?
- 7. 數據類型模型C++
- 8. 什麼是相應的C++數據類型爲SQL數字(18,0)數據類型?
- 9. 數據類型的OBJ-C
- 10. C中的數據類型
- 11. 將C數據類型轉換爲Python
- 12. SQLDescribeCol爲數據類型返回負值
- 13. 將c#數據類型轉換爲等效的java數據類型
- 14. 數據類型(我認爲的數據類型?)
- 15. 轉換datetime2數據類型爲smalldatetime數據類型的值超出範圍
- 16. 如何理解C++數據類型的本地數據類型?
- 17. C#的數據類型到SQL Server數據類型
- 18. C中數據類型的最小值和最大值
- 19. C#在通用數據類型和內置數值類型之間進行數值類型轉換
- 20. C#錯誤的數據類型爲nvarchar轉換爲數字
- 21. C++中等效數據類型的C#
- 22. 數據類型爲物理
- 23. C++類中的任意數據類型
- 24. php中的數據類型是否分爲引用類型和值類型?像C#
- 25. 爲什麼Simulink c函數中的數據類型與正常的c數據類型不同
- 26. SQL轉換的VARCHAR值轉換爲數據類型爲int
- 27. C++遞歸數據類型
- 28. C++雙數據類型
- 29. C數據類型轉換
- 30. 數據類型在C#
既然你提供了在你的例子可能性的整個主機,我已經添加了文字後綴的變化也是如此。 – Thorarin
@Thorarin:非常感謝:) –