Credit for this approach goes to
Arnoud Buzing:
In[4]:= Map[FromDigits, MapThread[IntegerDigits[n][[#1 ;; #2]] &,
Module[{a = Accumulate[#]}, {a - # + 1, a}]] & /@ c, {2}]
Out[4]= {{3, 245}, {32, 45}, {324, 5}, {3, 2, 45}, {32, 4, 5}, {3, 2, 4, 5}}
Can be written more concisely in terms of the following undocumented function
?Internal`PartitionRagged
for example, assuming we also want to get {3245} and {3, 24, 5}:
part[n_Integer] := With[{l = IntegerDigits[n]},
Map[FromDigits, Internal`PartitionRagged[l, #] & /@ Join @@ (Permutations /@ IntegerPartitions[Length[l]]), {2}]]
In[6]:= part[3245]
Out[6]= {{3245}, {324, 5}, {3, 245}, {32, 45}, {32, 4, 5}, {3, 24, 5}, {3, 2, 45}, {3, 2, 4, 5}}