The difference between a whole number and an integer, unfortunately, depends a great deal on who is talking about the numbers in question. This is because there is a great deal of disagreement over what this type of number represents, which has led to confusion and frustration among students of mathematics. Integers are easier to understand, however, since the set of integers simply refers to all natural numbers, including negatives, positives, and zero. These numbers are often said to refer to only the positive natural numbers, though zero is sometimes included, and some people use the term “whole number” synonymously with “integer.”
Understanding the difference between a whole number and an integer can be difficult, since it depends on how a person is using the term “whole number.” It can be easiest to begin by establishing what integers are, since there is an agreed upon definition for “integer.” Integers are natural numbers, including negatives, zero, and positive numbers. These are only natural numbers and do not include fractions, decimals, irrational numbers, imaginary numbers, or anything else that cannot be expressed as a simple, natural number.
With reference to these integers, however, whole numbers can be much more complicated. Many people consider only the positive integers, also called counting numbers, to be whole numbers, in which case zero would not be a whole number. Others regard these numbers as non-negative integers, which would include all positive integers, but include zero since it is not a negative number. To further contribute to this confusion, there are also people who use the terms “whole number” and “integer” synonymously, meaning that in such a usage there would be no difference between the two terms.
This is why the term is not frequently used in higher level courses and discussions of mathematics, since it can be taken by different people to mean different things. It is often best to use the terms "integers," "negative integers," "positive integers," and "non-negative integers." Integer would then refer to all natural numbers, including negatives, zero, and positives; while negative integer would refer only to negative natural numbers, not including zero since it is not negative. Positive integer can be used to refer to any positive natural number, though this would exclude zero since it is not positive; while non-negative integers would be all positive natural numbers and zero, since it is not negative.