<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2658.2">
<TITLE>RE: Exponential Notation and integers</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>[Timothy Fitz]</FONT>
</P>

<P><FONT SIZE=2>#- Why are all numberical literals in exponential notation floats? To me</FONT>
<BR><FONT SIZE=2>#- it is counter-intuitive for 1e3 to behave so fundamentally different</FONT>
<BR><FONT SIZE=2>#- from 1000.</FONT>
</P>

<P><FONT SIZE=2>Use Decimal. Decimal(1000) and Decimal("1e3") will behave equally.</FONT>
</P>
<BR>

<P><FONT SIZE=2>#- >>> long(1e100)</FONT>
<BR><FONT SIZE=2>#- 1000000000000000015902891109759918046836080856394528138978132</FONT>
<BR><FONT SIZE=2>#- 7557747838772170381060813469985856815104L</FONT>
<BR><FONT SIZE=2>#- >>> 1e20 == 10 ** 20 + 8192</FONT>
<BR><FONT SIZE=2>#- True</FONT>
<BR><FONT SIZE=2>#- >>> long(1e23) == 10 ** 23</FONT>
<BR><FONT SIZE=2>#- False</FONT>
</P>

<P><FONT SIZE=2>>>> from decimal import *</FONT>
<BR><FONT SIZE=2>>>> getcontext().prec = 110</FONT>
<BR><FONT SIZE=2>>>> Decimal("1e100")</FONT>
<BR><FONT SIZE=2>Decimal("1E+100")</FONT>
<BR><FONT SIZE=2>>>> Decimal("1e100") + 1</FONT>
<BR><FONT SIZE=2>Decimal("10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001")</FONT>
<BR><FONT SIZE=2>>>> Decimal("1e100") == 10 ** 100</FONT>
<BR><FONT SIZE=2>True</FONT>
</P>

<P><FONT SIZE=2>.       Facundo</FONT>
</P>

</BODY>
</HTML>