>Subject: Short form for FortranForm
>From: hedonley at grove.iup.edu (H. Edward Donley)
>To: mathgroup at smc.vnet.net
>Organization: Indiana University of PA
Does anyone know how to create FortranForm numbers with just a few digits
of precision, something analogous to the second argument of N[number,
precision]? My attempt, below, worked for the first example but not for
the second. And I have a suspicion that there is a much simpler solution.
In[1]:=
CompactForm[a_Real, precisiongoal_Integer] :=
Module[{digits,scalefactor},
digits = Log[10, Abs[a]];
scalefactor =
10^(Sign[digits] Floor[Abs[digits]] - precisiongoal);
FortranForm[N[ Round[a/scalefactor] scalefactor ]]
];
CompactForm[.0000000005325436656768678,3]
CompactForm[53254366567686.78,3]
Out[2]//FortranForm=
5.33e-10
Out[3]//FortranForm=
5.325000000000001e13
Thanks for any help you can give to me.
Ed Donley
--
H. Edward Donley
Mathematics Department
Indiana University of Pennsylvania
Indiana, PA 15705
U.S.A.
hedonley at grove.iup.edu
http://www.ma.iup.edu/MathDept/Professors/HDonley.html