[英]== between float and decimal in C#
static void Main()
{
int a=10;
Console.WriteLine(Convert.ToSingle(a)==Convert.ToDecimal(a));
}
為什么這段代碼會拋出錯誤
== 不能應用於 float 和 decimal 類型的操作數
即使兩個轉換語句都返回 10?
就像下面一樣。
bool Compare<T>(T x, T y) where T : class
{
...
}
所以x
和y
應該是相同的數據類型。 那么只有它可以比較。 十進制是 128 位,單是 32 位。
Decimal 是Decimal 浮點數, Double 是Binary floating point 。
ToSingle()
代表浮點數, ToDecimal()
代表 Double 值,這就是精度匹配的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.