evaluates expr numerically with a precision of prec digits.

You can manually assign numerical values to symbols. When you do not specify a precision, MachinePrecision is taken.

N automatically threads over expressions, except when a symbol has attributes NHoldAll, NHoldFirst, or NHoldRest.

The precision can be a pattern:

You can also use UpSet or TagSet to specify values for N:

However, the value will not be stored in UpValues, but in NValues (as for Set):

Values for N[expr] must be associated with the head of expr:

You can use Condition: