Based on Peter Grill's answer, if you want the groups of digits to be aligned similarly the example in your question, you could switch off the indenting for the paragraph containing the number, pull back the first line by the width of the characters 0., and increase the left margin by the same amount. Wrapped into a macro, this could look like
\newlength{\widthofzeroandperiod}
\settowidth{\widthofzeroandperiod}{0.}
\newcommand{\printlongdecimal}[1]{
\raggedright%
\noindent%
\hspace{-\widthofzeroandperiod}%
\leftskip\widthofzeroandperiod%
\rightskip0.7\textwidth%
\numprint{#1}
}
Using it in an example:
In the following paragraph, you can see an absurdly long number, aligned in a pretty but meaningless way:
\printlongdecimal{0.123719283791283718927489749875289345793485723495234572935239452348952384573481234879}
will yield

Here's the full document:
\documentclass{article}
\usepackage{numprint}
\usepackage{bigintcalc}
\npdecimalsign{\ensuremath{.}}
\npthousandsep{\hspace{0.3em}}
\newlength{\widthofzeroandperiod}
\settowidth{\widthofzeroandperiod}{0.}
\newcommand{\printlongdecimal}[1]{
\raggedright%
\noindent%
\hspace{-\widthofzeroandperiod}%
\leftskip\widthofzeroandperiod%
\rightskip0.7\textwidth%
\numprint{#1}
}
\begin{document}
In the following paragraph, you can see an absurdly long number, aligned in a pretty but meaningless way:
\printlongdecimal{0.123719283791283718927489749875289345793485723495234572935239452348952384573481234879}
\end{document}