Please reread both my and Marvin's responses carefully.
First: The formatting of output cells is, by default, set so that only 6 digits are displayed for machine precision numbers. The full number of digits are still saved internally--and in fact they are in the cell itself, but only a portion of them are displayed. But you can change the number of digits displayed in the Preferences but going to the Appearance/Numbers/Formatting subtab.
If you do not want to do this you can use FullForm to display the exact number of digits.
Results with a number of digits generated by arbitrary precision arithmetic will display their full set of digits. Eg
N[Pi, 40] + 2 x
The expression that you gave will not give 20 digits of precision as it starts with a machine precision number.
In[28]:= InputForm[N[2 1.23456789, 20]]
Out[28]//InputForm= 2.46913578
You cannot get more precision out than what you put in and may get less, depending on the calculations you do with the numbers.
You can also use NumberForm to show as many digits as you wish, but no more than are actually there. For example this is a machine precision number and so, even though there is a 30 there, only the number of digits that are actually there will be shown:
NumberForm[N[Pi], 30]
You can read more about some of these things here:
http://reference.wolfram.com/language/tutorial/NumericalPrecision.html