N converts all nonzero numbers to Real or Complex form.
N converts each successive argument of any function it encounters to numerical form, unless the head of the function has an attribute such as NHoldAll.
You can define numerical values of functions using N[f[args]]:=value and N[f[args], n]:=value.
N[expr, {p, a}] attempts to generate a result with precision at most p and accuracy at most a.
N[expr, {Infinity, a}] attempts to generate a result with accuracy a.
N[expr, {Infinity, 1}] attempts to find a numerical approximation to the integer part of expr.