Try the printf command:
$ printf "%e\n" 2923174917395723957
2.923175e+18
In your locale, it should use , instead of ., of course. You can also control the format more precisely such as:
$ printf "%.3e\n" 2923174917395723957
2.923e+18
Some shells like bash have a built-in called printf which may be different from any printf command that comes with the system, but, in general, you shouldn't notice any difference with simple commands like above. You can also use printf from Perl which will be pretty consistent.
$ perl -e 'printf "%.3e\n", 2923174917395723957'
2.923e+18