If you are talking about logging through the logging framework, then that's a different code path for value serialization (I think we try and avoid scientific notation there). Generally just allowing Bro to serialize values how ever it feels like it as you are doing with the bare unformatted print statement can occasionally result in some undesirable behavior.
Are you talking about having this trouble with the logging framework?
When you want to print "double" values with the "print" statement,
you can always choose your preferred format with the "fmt" built-in
function.
However, there is no way (that I'm aware of) to specify a format for
"double" values written to a log file. The current behavior appears to
be broken (because very large or small values cannot be represented in
the logs), so the only workaround would probably be to log as a string.