<p>How do I check if a number is a palindrome?</p>

<p>Any language. Any algorithm. (except the algorithm of making the number a string and then reversing the string).</p>

This is
one of the Project Euler problems
.  When I solved it in Haskell I did exactly what you suggest, convert the number to a String.  It's then trivial to check that the string is a pallindrome.  If it performs well enough, then why bother making it more complex?  Being a pallindrome is a lexical property rather than a mathematical one.