Board logo

標題: [技術討論] Delete [打印本頁]

作者: 良優    時間: 2015-10-12 15:40     標題: Delete

本帖最後由 良優 於 2016-5-1 19:07 編輯

刪除
作者: wongfung    時間: 2015-10-12 16:25

本帖最後由 wongfung 於 2015-10-12 16:27 編輯

VS2012表示都係冇"自動轉換"的
  1.             double a = 10 / 100;
  2.             double b = 10.0 / 100.0;
  3.             double c = (double)10 / 100;
  4.             double d = 10 / (double)100;

  5.             Console.WriteLine("a: " + a.ToString());
  6.             Console.WriteLine("b: " + b.ToString());
  7.             Console.WriteLine("c: " + c.ToString());
  8.             Console.WriteLine("d: " + d.ToString());
  9.             Console.ReadKey();
複製代碼
因為佢係CAST除完之後個數去DOUBLE...(double 變量= 10/100)
作者: FlyingForever    時間: 2015-10-12 22:22

根本冇咩可能有你所講既「自動轉換」,同language無關
  1. double d = someFuncThatReturnsInteger(10, 100);
複製代碼
你覺得會出咩?
邏輯上,10/100同someFuncThatReturnsInteger(10, 100)冇分別。
作者: 7h1r733n    時間: 2015-10-12 22:36

本帖最後由 7h1r733n 於 2015-10-12 22:43 編輯

https://msdn.microsoft.com/en-us/library/y5b434w4.aspx

Implicit conversions might occur in many situations

double a = 10/100
即係... 10/100 => 再convert to int... 再convert to double.. 所以即係0囉..
作者: antlee    時間: 2015-10-13 21:56

/ Operator (C# Reference)
https://msdn.microsoft.com/en-us/library/3b1ff23f.aspx
作者: gakko    時間: 2015-10-14 12:08

4樓正解
無加tag比佢的話係會當左int先
而int無小數    所以會係0





歡迎光臨 電腦領域 HKEPC Hardware (https://h0.hkepc.com/forum/) Powered by Discuz! 7.2