You can use this non-regex method:

num = 0.112345678
pow = floor(log10(abs(num)));
sprintf('%.8fe%+.3d', num/10^pow, pow)

ans =
1.12345678e-001

For multiple inputs use this:

num= [.123 .456 .789];
pow = floor(log10(abs(num)));
sprintf('%.8fe%+.3d ', [num./10.^pow; pow])
Answer from rahnema1 on Stack Overflow
🌐
MathWorks
mathworks.com › matlabcentral › answers › 450744-how-do-i-avoid-scientific-notation-when-using-fprintf-to-print-numbers-into-a-text-document
How do I avoid scientific notation when using fprintf to print numbers into a text document? - MATLAB Answers - MATLAB Central
March 18, 2019 - The coordinates are predetermined and I'm using fprintf to print these coordinates in the format of code for a CNC machine in a text file. ... The problem I have is that the CNC machines at my university do not read the numbers in the scientific notation. Is there a way to print these numbers as their full numbers as oppose to in the scientific notation? ... Thanks in advance! ... https://www.mathworks.com/matlabcentral/answers/450744-how-do-i-avoid-scientific-notation-when-using-fprintf-to-print-numbers-into-a-text-document#comment_682475
🌐
UCI
ocw.uci.edu › upload › files › mae10_w2011_discussion05.pdf pdf
1 Formatting: %f = fixed-point, or decimal %e = scientific notation
%e = scientific notation · %g = fixed-point or exponential with no trailing zeros · %i = integer · %c = single character · %s = string of characters · The general form of the fprintf( ) function is the following: fprintf( string with format commands, variable and array names) Example: ...
🌐
MathWorks
mathworks.com › matlabcentral › answers › 100772-how-do-i-use-fprintf-to-write-numbers-in-exponential-notation-of-variable-exponent-digits-on-a-windo
How do I use FPRINTF to write numbers in exponential notation of variable exponent digits on a Windows computer in MATLAB? - MATLAB Answers - MATLAB Central
August 24, 2012 - It will be observed in the resulting text file that numbers in exponential notation with only two exponential digits are printed, instead of three. To increase the number of digits in the exponent, the reverse procedure is required. The following adds two extra digits to the exponent: ... Sign in to comment. Sign in to answer this question. Find more on Entering Commands in Help Center and File Exchange ... Find the treasures in MATLAB Central and discover how the community can help you!
🌐
MathWorks
mathworks.com › matlabcentral › answers › 232496-how-do-i-set-the-exponential-size-in-fprintf
How do I set the exponential size in fprintf? - MATLAB Answers - MATLAB Central
August 5, 2015 - I'm trying to get the fprintf command to output specifically with the e6 scientific notation size. Is this possible? The function is: function [ dv_km3 dv_m3 ] = r2dv( r ) %r2dv % this s...
🌐
MathWorks
mathworks.com › matlabcentral › answers › 1645915-how-to-stop-displaying-scientific-notation
How to stop displaying scientific notation - MATLAB Answers - MATLAB Central
February 8, 2022 - From my understanding, you want the output data to be in fixed floating-point notation instead of scientific notation. Moreover, it should be up to 3 decimal places. You can use %f formatting operator instead of %d to achieve this- ... Where .3 before the f denotes the number of decimal places (in this case three). For more details, you can refer to the fprintf documentation- https://in.mathworks.com/help/matlab/ref/fprintf.html
Find elsewhere
🌐
MathWorks
mathworks.com › matlabcentral › answers › 9850-how-to-avoid-e-notation-when-using-fprintf-to-print-to-a-file
How to avoid e+ notation when using fprintf to print to a file - MATLAB Answers - MATLAB Central
June 20, 2011 - I am having trouble having matlab avoid using the +e notation when trying to print a number to a txt file. Here is my code: ... The disp works fine and Matlab outputs the decimal value in the exact format that I want but the fprintf simply doesn't.
🌐
Unsw
maths.unsw.edu.au › sites › default › files › MatlabSelfPaced › lesson7 › MatlabLesson7_FormattedOutput.html
MATLAB Lesson 7 - Formatted output
Print x as a decimal integer and y both as a float with 6 digits after the decimal point and in scientific notation with 6 digits after the decimal point. ... fprintf('y = %.6e\n', y) Use the mouse to select the text between the word "Answer" and here to see the answer.
🌐
MathWorks
mathworks.com › matlabcentral › answers › 62708-custom-output-of-the-fprintf
Custom output of the fprintf - MATLAB Answers - MATLAB Central
February 8, 2013 - See formatSpec section of the fprintf() help documentation. It would be nice if it were though. I've seen other programs where you can specify "Scientific notation" where the exponent can be any number, and "Engineering Notation" where the exponent is a multiple of 3.