<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Calculation Bug Fixed</title>
	<atom:link href="http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/</link>
	<description>Daily posts of Excel tips…and other stuff</description>
	<lastBuildDate>Wed, 08 Feb 2012 23:58:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: fzz</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32666</link>
		<dc:creator>fzz</dc:creator>
		<pubDate>Tue, 03 Jun 2008 16:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32666</guid>
		<description>&lt;p&gt;Rembo - you haven&#039;t worked with arbitrary precision decimal math software. It&#039;s slow even on current hardware. Not slow in the same way it would have been 10 years ago, but slow in the sense of annoyingly noticeable.&lt;/p&gt;
&lt;p&gt;As for accuracy, you&#039;re still confusing the statistical/scientific/engineering meaning of significant DECIMAL digits with binary floating point mantissa bits. Except for exact sums of negative powers of 2, e.g., #.5, #.75, #.203125 (# + 13/64), binary floating point can&#039;t store DECIMAL fractional values exactly. The best binary floating point can do is use all available binary bits to store the closest value possible. Such software then uses binary floating point math for calculations using those numbers and the results are in turn stored using all available binary bits to store the closest value possible. These values are simply the result of &lt;b&gt;unavoidable&lt;/b&gt; imprecision in the decimal-to-binary-to-decimal conversions. &lt;b&gt;THEY ARE ACCURATE&lt;/b&gt; (or as accurate as possible), just not in the same sense as spurious decimal places beyond the number of significant (DECIMAL) digits in statistical/... context.&lt;/p&gt;
&lt;p&gt;You persist in believing Excel can (or should) perform decimal arithmetic. It can if you use precision as displayed. Otherwise, it can&#039;t.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Rembo &#8211; you haven&#8217;t worked with arbitrary precision decimal math software. It&#8217;s slow even on current hardware. Not slow in the same way it would have been 10 years ago, but slow in the sense of annoyingly noticeable.</p>
<p>As for accuracy, you&#8217;re still confusing the statistical/scientific/engineering meaning of significant DECIMAL digits with binary floating point mantissa bits. Except for exact sums of negative powers of 2, e.g., #.5, #.75, #.203125 (# + 13/64), binary floating point can&#8217;t store DECIMAL fractional values exactly. The best binary floating point can do is use all available binary bits to store the closest value possible. Such software then uses binary floating point math for calculations using those numbers and the results are in turn stored using all available binary bits to store the closest value possible. These values are simply the result of <b>unavoidable</b> imprecision in the decimal-to-binary-to-decimal conversions. <b>THEY ARE ACCURATE</b> (or as accurate as possible), just not in the same sense as spurious decimal places beyond the number of significant (DECIMAL) digits in statistical/&#8230; context.</p>
<p>You persist in believing Excel can (or should) perform decimal arithmetic. It can if you use precision as displayed. Otherwise, it can&#8217;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rembo</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32661</link>
		<dc:creator>Rembo</dc:creator>
		<pubDate>Tue, 03 Jun 2008 10:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32661</guid>
		<description>&lt;p&gt;&gt; IOW, Excel is what it is. It&#039;s NOT going to change (at least not in this way). You&#039;re going to be&lt;br&gt;
&gt; very disappointed expecting your arguments will change Excel.&lt;/p&gt;
&lt;p&gt;Nah.. I don&#039;t thinkt that is going to change fzz. Afaik MS has always supported the IEEE 754 standard and my arguments are not that important. The chances of anyone running into problems because of this rounding behaviour is very small. Rewriting Excel is most likely not an option. But despite all that I still think it&#039;s silly to display that much decimals if they are not accurate. &lt;/p&gt;
&lt;p&gt;As for the calculation speed, with todays computer that probably isn&#039;t that much of a problem. But you are correct ofcourse that there is a performance penalty for using exact calculations if that were possible.&lt;/p&gt;
&lt;p&gt;Charles: that assumption isn&#039;t used at all except in scientific calculations. Fault calculations are commonly used to cover for measuring/calibrating errors for example.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&gt; IOW, Excel is what it is. It&#8217;s NOT going to change (at least not in this way). You&#8217;re going to be<br />
&gt; very disappointed expecting your arguments will change Excel.</p>
<p>Nah.. I don&#8217;t thinkt that is going to change fzz. Afaik MS has always supported the IEEE 754 standard and my arguments are not that important. The chances of anyone running into problems because of this rounding behaviour is very small. Rewriting Excel is most likely not an option. But despite all that I still think it&#8217;s silly to display that much decimals if they are not accurate. </p>
<p>As for the calculation speed, with todays computer that probably isn&#8217;t that much of a problem. But you are correct ofcourse that there is a performance penalty for using exact calculations if that were possible.</p>
<p>Charles: that assumption isn&#8217;t used at all except in scientific calculations. Fault calculations are commonly used to cover for measuring/calibrating errors for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fzz</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32643</link>
		<dc:creator>fzz</dc:creator>
		<pubDate>Mon, 02 Jun 2008 19:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32643</guid>
		<description>&lt;p&gt;Rembo - you&#039;re assuming Excel is something other than just another program that performs numeric calculations using binary floating point. That assumption is wrong.&lt;/p&gt;
&lt;p&gt;You obviously want Excel to use arbitrary of specified precision decimal arithmetic. That&#039;d make Excel VERY, VERY SLOW. Others prefer Excel to be relatively fast if a bit of a pain to work with in terms of truncation error.&lt;/p&gt;
&lt;p&gt;IOW, Excel is what it is. It&#039;s NOT going to change (at least not in this way). You&#039;re going to be very disappointed expecting your arguments will change Excel.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Rembo &#8211; you&#8217;re assuming Excel is something other than just another program that performs numeric calculations using binary floating point. That assumption is wrong.</p>
<p>You obviously want Excel to use arbitrary of specified precision decimal arithmetic. That&#8217;d make Excel VERY, VERY SLOW. Others prefer Excel to be relatively fast if a bit of a pain to work with in terms of truncation error.</p>
<p>IOW, Excel is what it is. It&#8217;s NOT going to change (at least not in this way). You&#8217;re going to be very disappointed expecting your arguments will change Excel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Williams</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32640</link>
		<dc:creator>Charles Williams</dc:creator>
		<pubDate>Mon, 02 Jun 2008 15:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32640</guid>
		<description>&lt;p&gt;Dick,&lt;/p&gt;
&lt;p&gt;Q: Is there a way to determine how precise a number is after you&#039;ve converted to binary and back? For instance, if you subtract 57 from 57.8, is there an algorithm to determine how precise the answer is?&lt;/p&gt;
&lt;p&gt;The degree of error will depend on the method used to convert from decimal to binary and how many binary bits are used.&lt;br&gt;
For Excel I guess the simplest way would be to compare the results of its slightly modified IEEE scheme with the results using an extended precision addin like&lt;br&gt;
&lt;a href=&quot;http://digilander.libero.it/foxes/MultiPrecision.htm&quot; rel=&quot;nofollow&quot;&gt;http://digilander.libero.it/foxes/MultiPrecision.htm&lt;/a&gt;&lt;br&gt;
which claims to be able to handle up to 250 significant digits.&lt;/p&gt;
&lt;p&gt;Rembo,&lt;/p&gt;
&lt;p&gt;&quot;the maximum error in 4.0 - 3.0 is 0.099999? - this is only true if you make the assumption that digits that are not shown could be anything and ignore any errors caused by the calculation method used (in this case converting to binary and back).&lt;br&gt;
I do not think this assumption is widely used, for instance certainly not in Finance/banking. Even in physical sciences I would have thought it was more usual to state a measurement +-value.&lt;/p&gt;
&lt;p&gt;.Value2&lt;br&gt;
Is faster than .Value for numbers because it does not do the Currency and Date implicit type conversions, as well as avoiding the truncation problems.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Dick,</p>
<p>Q: Is there a way to determine how precise a number is after you&#8217;ve converted to binary and back? For instance, if you subtract 57 from 57.8, is there an algorithm to determine how precise the answer is?</p>
<p>The degree of error will depend on the method used to convert from decimal to binary and how many binary bits are used.<br />
For Excel I guess the simplest way would be to compare the results of its slightly modified IEEE scheme with the results using an extended precision addin like<br />
<a href="http://digilander.libero.it/foxes/MultiPrecision.htm" rel="nofollow">http://digilander.libero.it/foxes/MultiPrecision.htm</a><br />
which claims to be able to handle up to 250 significant digits.</p>
<p>Rembo,</p>
<p>&#8220;the maximum error in 4.0 &#8211; 3.0 is 0.099999? &#8211; this is only true if you make the assumption that digits that are not shown could be anything and ignore any errors caused by the calculation method used (in this case converting to binary and back).<br />
I do not think this assumption is widely used, for instance certainly not in Finance/banking. Even in physical sciences I would have thought it was more usual to state a measurement +-value.</p>
<p>.Value2<br />
Is faster than .Value for numbers because it does not do the Currency and Date implicit type conversions, as well as avoiding the truncation problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rembo</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32637</link>
		<dc:creator>Rembo</dc:creator>
		<pubDate>Mon, 02 Jun 2008 12:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32637</guid>
		<description>&lt;p&gt;Doug; you are right because the number starts with 0.00.. etc. If it would start with 1.00.. etc. you&#039;d have 25 significant digits, of which 24 digits are decimals. The numbers used for the sum in the WoW example contain more than 13 significant digits.&lt;/p&gt;
&lt;p&gt;Jon; I counted the number of decimals in the WoW example. Not sure if I counted them right though, I was more concerned with result of the sum.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Doug; you are right because the number starts with 0.00.. etc. If it would start with 1.00.. etc. you&#8217;d have 25 significant digits, of which 24 digits are decimals. The numbers used for the sum in the WoW example contain more than 13 significant digits.</p>
<p>Jon; I counted the number of decimals in the WoW example. Not sure if I counted them right though, I was more concerned with result of the sum.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Jenkins</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32636</link>
		<dc:creator>Doug Jenkins</dc:creator>
		<pubDate>Mon, 02 Jun 2008 11:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32636</guid>
		<description>&lt;p&gt;The number 0.000000000008640199666843 has 13 significant digits, not 26 (or even 25).  If you paste it into Excel it displays as 8.640199666843E-12, 13 figures.  If you subtract two large numbers, resulting in a number very close to zero you are going to lose precision.  It&#039;s just something you need to be aware of if you have an application that really demands that level of precision.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The number 0.000000000008640199666843 has 13 significant digits, not 26 (or even 25).  If you paste it into Excel it displays as 8.640199666843E-12, 13 figures.  If you subtract two large numbers, resulting in a number very close to zero you are going to lose precision.  It&#8217;s just something you need to be aware of if you have an application that really demands that level of precision.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Peltier</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32635</link>
		<dc:creator>Jon Peltier</dc:creator>
		<pubDate>Mon, 02 Jun 2008 11:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32635</guid>
		<description>&lt;p&gt;Rembo - Where does &quot;26 digits&quot; come from?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Rembo &#8211; Where does &#8220;26 digits&#8221; come from?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rembo</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32634</link>
		<dc:creator>Rembo</dc:creator>
		<pubDate>Mon, 02 Jun 2008 10:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32634</guid>
		<description>&lt;p&gt;Dick, there is an entire science for calculation of errors, it has its own set of formulas. Its fairly easy to understand what an accumulated error is when you add or subtract numbers. For example, the maximum error in 4.0 - 3.0 is 0.099999 so the answer is 1.0 +/- 0.0999999 etc.&lt;br&gt;
It becomes slightly more complicated with multiplications and division and even more complicated with complex formulas. But calculating a (maximum) error is an exact science and generally it can be done.&lt;br&gt;
I don&#039;t know if you could implement these formulas into Excel though given the rounding errors when using floating point calculations. &lt;/p&gt;
&lt;p&gt;Fzz: you look at this from a computer science point of view. That is a great way to explain the problem and why it occurs. Indeed all software that uses floating point calculations following the IEEE 754 standard (as Excel does) will make calcuation errors due to rounding. I can&#039;t argue with that.&lt;br&gt;
But I&#039;m an Excel user and I look at Excel as such. It doesn&#039;t make any sense to me to display 26 digits when oly about 15 digits are accurate (read this on Chip Pearsons page).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Dick, there is an entire science for calculation of errors, it has its own set of formulas. Its fairly easy to understand what an accumulated error is when you add or subtract numbers. For example, the maximum error in 4.0 &#8211; 3.0 is 0.099999 so the answer is 1.0 +/- 0.0999999 etc.<br />
It becomes slightly more complicated with multiplications and division and even more complicated with complex formulas. But calculating a (maximum) error is an exact science and generally it can be done.<br />
I don&#8217;t know if you could implement these formulas into Excel though given the rounding errors when using floating point calculations. </p>
<p>Fzz: you look at this from a computer science point of view. That is a great way to explain the problem and why it occurs. Indeed all software that uses floating point calculations following the IEEE 754 standard (as Excel does) will make calcuation errors due to rounding. I can&#8217;t argue with that.<br />
But I&#8217;m an Excel user and I look at Excel as such. It doesn&#8217;t make any sense to me to display 26 digits when oly about 15 digits are accurate (read this on Chip Pearsons page).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Rosenblum</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32630</link>
		<dc:creator>Mike Rosenblum</dc:creator>
		<pubDate>Mon, 02 Jun 2008 00:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32630</guid>
		<description>&lt;p&gt;I don&#039;t know that we&#039;re off topic really... In as much as we are, it&#039;s due to my mistaken belief that &quot;currency&quot; number formatting affected the actual underlying type. It sure behaves that way from the VBA side of the fence.&lt;/p&gt;
&lt;p&gt;I had thought that by changing the formatting to &quot;currency&quot;, this not-quite-zero-sum situation that was being discussed here might have *actually* returned zero. But, alas, it doesn&#039;t because it is merely the object model that is doing a conversion to Currency behind the scenes and not actually within the cells themselves.&lt;/p&gt;
&lt;p&gt;As for what *could be*, I think your assessment is exactly right: improving this situation for precision would definitely mean a rather large penalty in calculation time. Probably the easiest way to implement better precision would be to utilize the Decimal data type. It still would not have the range of a double, but it would still have an excellent range and has greater precision (and more flexible precision) than Currency; however, its processing is not native to the CPU and so its calculation speed would probably be about 10x slower than calculating doubles.&lt;/p&gt;
&lt;p&gt;Still, it might be neat to be able to set the data type (perhaps via the number format) and be willing to make that trade-off on the fly. I&#039;m not saying that it&#039;s convenient for Excel or the calculation engine to be able to do this, but it&#039;s an interesting idea which could have a lot of value in certain situations. And this is essentially what I mistakenly believed was going on with the &quot;currency&quot; number formatting.&lt;/p&gt;
&lt;p&gt;I was basically fooled by the following code, which returns &quot;Currency&quot;:&lt;/p&gt;
&lt;div style=&quot;overflow: auto; white-space: nowrap;&quot; class=&quot;codecolorer-container vb default&quot;&gt;&lt;div style=&quot;white-space: nowrap;&quot; class=&quot;vb codecolorer&quot;&gt;[b1].Value = 1.23456789&lt;br&gt;
[b1].NumberFormat = &lt;span class=&quot;st0&quot;&gt;&quot;$#,##0.00&quot;&lt;/span&gt;&lt;br&gt;
MsgBox TypeName([b1].Value) &#039; Returns &lt;span class=&quot;st0&quot;&gt;&quot;Currency&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I&#039;m not sure what else I should have assumed, but I thought that the underlying type actually *was* Currency. But I was wrong. If I was a C++/XLL programmer, one who is used to using an XLOPER on a daily basis, then I would have known better.&lt;/p&gt;
&lt;p&gt;Still, I think we learned something here. Perhaps it is &quot;off topic&quot;, I don&#039;t know, but the way Excel VBA is handling Currency data types for cells with &quot;currency&quot; number formatting is definitely interesting. And the fact that the following code truncates to two decimal places is also surprising and worth being aware of:&lt;/p&gt;
&lt;div style=&quot;overflow: auto; white-space: nowrap;&quot; class=&quot;codecolorer-container vb default&quot;&gt;&lt;div style=&quot;white-space: nowrap;&quot; class=&quot;vb codecolorer&quot;&gt;[a1].Value = 1.23456789&lt;br&gt;
[a1].NumberFormat = &lt;span class=&quot;st0&quot;&gt;&quot;$#,##0.00&quot;&lt;/span&gt;&lt;br&gt;
[b1].Value = [a1].Value&lt;br&gt;
MsgBox [b1].Value &#160;&#039; Returns 1.23&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It certainly makes me want to use .Value2 a little more often. :-)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know that we&#8217;re off topic really&#8230; In as much as we are, it&#8217;s due to my mistaken belief that &#8220;currency&#8221; number formatting affected the actual underlying type. It sure behaves that way from the VBA side of the fence.</p>
<p>I had thought that by changing the formatting to &#8220;currency&#8221;, this not-quite-zero-sum situation that was being discussed here might have *actually* returned zero. But, alas, it doesn&#8217;t because it is merely the object model that is doing a conversion to Currency behind the scenes and not actually within the cells themselves.</p>
<p>As for what *could be*, I think your assessment is exactly right: improving this situation for precision would definitely mean a rather large penalty in calculation time. Probably the easiest way to implement better precision would be to utilize the Decimal data type. It still would not have the range of a double, but it would still have an excellent range and has greater precision (and more flexible precision) than Currency; however, its processing is not native to the CPU and so its calculation speed would probably be about 10x slower than calculating doubles.</p>
<p>Still, it might be neat to be able to set the data type (perhaps via the number format) and be willing to make that trade-off on the fly. I&#8217;m not saying that it&#8217;s convenient for Excel or the calculation engine to be able to do this, but it&#8217;s an interesting idea which could have a lot of value in certain situations. And this is essentially what I mistakenly believed was going on with the &#8220;currency&#8221; number formatting.</p>
<p>I was basically fooled by the following code, which returns &#8220;Currency&#8221;:</p>
<div style="overflow: auto; white-space: nowrap;" class="codecolorer-container vb default">
<div style="white-space: nowrap;" class="vb codecolorer">[b1].Value = 1.23456789<br />
[b1].NumberFormat = <span class="st0">&#8220;$#,##0.00&#8243;</span><br />
MsgBox TypeName([b1].Value) &#8216; Returns <span class="st0">&#8220;Currency&#8221;</span></div>
</div>
<p>I&#8217;m not sure what else I should have assumed, but I thought that the underlying type actually *was* Currency. But I was wrong. If I was a C++/XLL programmer, one who is used to using an XLOPER on a daily basis, then I would have known better.</p>
<p>Still, I think we learned something here. Perhaps it is &#8220;off topic&#8221;, I don&#8217;t know, but the way Excel VBA is handling Currency data types for cells with &#8220;currency&#8221; number formatting is definitely interesting. And the fact that the following code truncates to two decimal places is also surprising and worth being aware of:</p>
<div style="overflow: auto; white-space: nowrap;" class="codecolorer-container vb default">
<div style="white-space: nowrap;" class="vb codecolorer">[a1].Value = 1.23456789<br />
[a1].NumberFormat = <span class="st0">&#8220;$#,##0.00&#8243;</span><br />
[b1].Value = [a1].Value<br />
MsgBox [b1].Value &nbsp;&#8217; Returns 1.23</div>
</div>
<p>It certainly makes me want to use .Value2 a little more often. <img src='http://www.dailydoseofexcel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fzz</title>
		<link>http://www.dailydoseofexcel.com/archives/2007/10/10/calculation-bug-fixed/#comment-32620</link>
		<dc:creator>fzz</dc:creator>
		<pubDate>Sat, 31 May 2008 21:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1736#comment-32620</guid>
		<description>&lt;p&gt;We&#039;re getting off topic. VBA does different things than Excel itself, and ranges have both .Value (which is specific to VBA and Excel&#039;s object model) and .Value2, which is what&#039;s actually stored in Excel cells.&lt;/p&gt;
&lt;p&gt;Even if Excel did use the Variant/Currency data type for cells formatted as currency, that&#039;d only solve truncation error in addition and subtraction. Multiplication and division would remain problematic. Also, it&#039;s less flexible than precision as displayed. If you have a cell (A1) formatted as 0.000 and enter 1.001 in it, it&#039;s squared value should be 1.002001, but currency format will truncate this at 4 decimal places whereas using precision as displayed you could format the cell as 0.000000, and the full value would be preserved.&lt;/p&gt;
&lt;p&gt;As long as you have only FINITE precision, you&#039;d still have to handle values that lack finite representations in any base, e.g., SQRT(2). If you want arbitrary precision and symbolic processing, there are software packages available, e.g., Mathematica, MatLab, Maple, Maxima, Gauss, MuPad and maybe others, but AFAIK there are no spreadsheets providing such functionality in no small part because such functionality means &lt;b&gt;&lt;i&gt;SLOW&lt;/i&gt;&lt;/b&gt; calculations.&lt;/p&gt;
&lt;p&gt;Finite precision binary floating point has this advantage: it&#039;s currently the fastest way of performing fairly accurate computer arithmetic. If you believe there would be better (either faster or as fast but more accurate) ways for computers to perform arithmetic calculations, where are they? Wouldn&#039;t you suppose there&#039;d be a huge market for chips implementing such alternatives? Perhaps the absence of such chips is evidence that no one has yet been able to come up with anything better.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>We&#8217;re getting off topic. VBA does different things than Excel itself, and ranges have both .Value (which is specific to VBA and Excel&#8217;s object model) and .Value2, which is what&#8217;s actually stored in Excel cells.</p>
<p>Even if Excel did use the Variant/Currency data type for cells formatted as currency, that&#8217;d only solve truncation error in addition and subtraction. Multiplication and division would remain problematic. Also, it&#8217;s less flexible than precision as displayed. If you have a cell (A1) formatted as 0.000 and enter 1.001 in it, it&#8217;s squared value should be 1.002001, but currency format will truncate this at 4 decimal places whereas using precision as displayed you could format the cell as 0.000000, and the full value would be preserved.</p>
<p>As long as you have only FINITE precision, you&#8217;d still have to handle values that lack finite representations in any base, e.g., SQRT(2). If you want arbitrary precision and symbolic processing, there are software packages available, e.g., Mathematica, MatLab, Maple, Maxima, Gauss, MuPad and maybe others, but AFAIK there are no spreadsheets providing such functionality in no small part because such functionality means <b><i>SLOW</i></b> calculations.</p>
<p>Finite precision binary floating point has this advantage: it&#8217;s currently the fastest way of performing fairly accurate computer arithmetic. If you believe there would be better (either faster or as fast but more accurate) ways for computers to perform arithmetic calculations, where are they? Wouldn&#8217;t you suppose there&#8217;d be a huge market for chips implementing such alternatives? Perhaps the absence of such chips is evidence that no one has yet been able to come up with anything better.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

