title: Math.Ceiling giving "Call is ambiguous" error when using String.Length
body: <p>Good day all.</p>
  
  <p>I am getting back into C# after a few years, and am  little stuck on an error I'm receiving. I wrote a practice program to determine whether a word is a palindrome (same backwards and forwards). I am however getting an error that confuses me.</p>
  
  <p>I try to call  Math.Ceiling(word.Length / 2) to get the middle of a word, but it gives me the following error:
  "The call is ambiguous between the following methods or properties:'Math.Ceiling(decimal) and Math.Ceiling(double)"</p>
  
  <p>Although I get that this is the compiler worrying about identifying the correct overloaded method, but am unsure how to indicate which I am using. I also don't get why should this matter?</p>
  
  <p>Here is my full program:</p>
  
  <pre><code>namespace ConsoleApplication2
  {
      class Program
      {
          static void Main(string[] args)
          {
              string word = "Deleveled";
              word = word.ToUpper();
              bool isPalindrome = true;
              for (var i = 0; i &lt;= Math.Ceiling(word.Length / 2); i++)
              {
                  char tmp = word[word.Length - i - 1];
                  if (Char.ToUpper(word[i]) != Char.ToUpper(tmp))
                  {
                      isPalindrome = false;
                      break;
                  }
              }
              Console.WriteLine(isPalindrome);
              Console.ReadLine();
          }
      }
  }
  </code></pre>
  
  <p>I would greatly appreciate it f anyone could help me understand what the issue is here?</p>
  
  <p>My thanks in advance</p>