Does anybody have an idea what the meaning of the second argument of Internal`DoubleToString might be? It accepts also a third argument which seems to be related to the number of leading digits that are to be printed, but even that is not very clear to me if there is no third argument provided:

Internal`DoubleToString[1. Pi 10^6]
Internal`DoubleToString[1. Pi 10^-3]
Internal`DoubleToString[1. Pi 10^6, 1, 5]
Internal`DoubleToString[1. Pi 10^-3, 1, 5]





This function might be very useful when exporting lots of numbers to a human-readible file format (see also this post).


1 Answer 1


The second argument controls whether to add NumberMarks

Internal`DoubleToString[1. Pi 10^6, True, 5]

(* "3.1416`*^6" *)

Internal`DoubleToString[1. Pi 10^6, False, 5]

(* "3.1416*^6" *)

Note that anything different from an explicit True or False will use the Automatic setting.

  • $\begingroup$ Ah, very good. Thank you, ilian! $\endgroup$ Apr 11, 2018 at 13:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.