[followups set to comp.lang.python] [Danny] > I am just getting into OOP using Python and > because of the floating point of large integer (L) > square roots all the decimal expansions are truncated. > This has created a problem because I need these > decimal expansions in my algorithm other wise > it adds more sub iterations slowing down > greatly to the programs performance. > > Is there any way of retrieving these truncated decimal > expansions up to a certain (n) with Python?
You want comp.lang.python for this, not sci.math. Be sure to give a concrete example, giving a specific input and showing exactly as possible what you /want/ to achieve. There are so many possible ambiguities in what you wrote here that few people will take time to guess at what you might have intended to ask. > Java and I believe c++ do not have this problem > but I am not about to learn any of these because > I like Python. Programming language has little to nothing to do with this, it's the data type you're using. In Java, C++, and Python, if you're using the native double-precision floating-point type, you're limited to (on most machines) at most 53 bits of precision. If you need more than that, you need to use a different data type. For example, in recent versions of Python you could use the `decimal` module, and set its precision to virtually anything you like; e.g., under Python 2.5, >>> import decimal >>> t = decimal.Decimal(2) >>> decimal.getcontext().prec # show the default precision 28 >>> print t.sqrt() # sqrt(2) rounded to 28 significant digits 1.414213562373095048801688724 >>> decimal.getcontext().prec = 56 # double the precision >>> print t.sqrt() # sqrt(2) to rounded to 56 significant digits 1.4142135623730950488016887242096980785696718753769480732 -- http://mail.python.org/mailman/listinfo/python-list