If you really need up to 7 significant digits to remain accurate, you're really gonna have to write your own math routines to handle floating point numbers and their operations. As stated, the
IEEE 754 floating point standard (what DBP, and virtually every piece of hardware or software used today for personal computers, uses) really is not going to be accurate enough for this kind of precision.
a as double float
b as double float
a = 0.1
b = 0.2
print "a = "+str$(a)+", b = "+str$(b)
print "a + b = "+str$(a + b)
wait key
end
Even with something as simple as 0.1+0.2, you see how you start to get weird results after your 7th digit, which is already pushing what you're looking for as far as precision is concerned - Once you start going into more in depth calculations, you can't guarantee you'll be within acceptable accuracy or not.
Bottom line - If you really need the accuracy, you need to write your own methods to handle these operations and the storage of these numbers. Any programming language (DBP or not) that uses "standard" floating point numbers will be using the IEEE standard, which will give you these same results.
While it's not impossible to program something like that in DBP, I'd say an object-oriented language would definitely be your best bet for something of this sort. If you really need the DBP functions (if you're showing 3D graphical representations of things, for example) then I'd say look into DarkGDK. Otherwise, my two recommendations would be straight C++ or Java, but there are of course plenty of object-oriented languages to choose from.