Это невозможно, поскольку после того, как вы присвоили:
var e = 123.456e+304;
и обработаны интерпретатором JavaScript, e
- это просто число, внутренне представленное IEEE 754, число, эквивалентное 1,23456e +306 и у него "нет памяти", где была ваша десятичная точка. Поэтому независимо от того, что вы делаете, вы не можете знать, где была десятичная точка, и позволить вам переместить ее туда, где вы хотите, чтобы она была в строке.
Для того, чтобы «иметь знание» о том, где находится десятичная точка была, вам нужно иметь строку для начала, но это также результат, который вы хотите.