The Metric System with Rounding is Garbage

Thank you for your time and energy on this debate. To address Point A of round 4, I would have to say in response that NO, I am not talking about JUST advanced calculations involving rounding. Even Simple Ones. The example and research of round 1 shows that the decimal system with rounding cannot handle simple distributive type problems such as Sum(Item Price)* Markup% <> Sum(Item Price * Markup%) For the decimal and metric systems to be practical in real world applications. They should be distributable such that A * (X + Y) = AX + AY but they do not. Because of rounding, functions that should be equal and that use the decimal system are NOT. I will proof that using the decimal system with rounding means that indeed Sum(Item Price)* Markup% <> Sum(Item Price * Markup%) I should be able to take Sum(Item Price) * Markup% and distribute Markup% accross the Sum(Item Price) which is in effect (item[1].price + item[2].price + ... + item[n].price) This is a simple financial type transaction involving a decimal currency. We're going to go outside the class room and into the real world with this example. You are given the apparently simple task of splitting up the total of a retail order by class for the reporting the class total and correct item amount of each item to some financial agency. class 1 will be NOT class 2 will be IS You are given: 100 random items of random class in the range 0 thru 9.99 You are given: You are given a random Markup% in the range 1.00 thru 20.00 You are given: The total of the order as Sum(items) * Markup% Your function must process the list of items and tell me the correct amount to report to the financial agency for all items marked class 2 "IS". Your function MUST deliver the right answer. One not understanding this issue would think that (Sum(Class 1 Price)* Markup%) + (Sum(Class 2 Price)* Markup%) should equal Sum(Item Price) * Markup% One not understanding the flaw inherint in rounding would assume that he could distribute markup percent to each item. Stage1: Sum(Item Price) * Markup% Stage2: (item[1].price + item[2].price + ... + item[n].price) * Markup% Stage3: ((item[1].price * Markup%)+ (item[2].price * Markup%) + ... + (item[n].price * Markup%)) Pretty standard stuff so far, any average man would assume that the metric system was distributable just as we were taught. Here are your data sets Data Set 1 ItemPrice = 1.37,3.91,8.79,10.91,9.27,9.03,8,10.28,6.83,6.69,5.09,7.84,8.08,4.18,2.89,5.87,9.53,1.91,5.64,0.42,0.89,5.54,7.62,5.33,10.74,7.51,2.92,3.08,4.39,2.77,3.69,5.09,4.36,9.63,8.12,1.58,6.53,5.06,1.99,6.87,1.27,6.56,10.19,1.79,9.18,4.66,10.06,4.79,6.84,8.47,0.82,6.4,8.4,4.9,1.37,9.82,1.61,8.24,1,5.46,9.24,2.29,9.22,8.47,3.87,9.59,5.29,2.31,6.22,0.79,8.99,4.66,0.14,7.5,2.38,5.89,1.38,9.01,8.93,0.46,9.43,6.15,6.36,9.26,2.67,7.94,9.12,7.04,0.22,10.44,7.11,2.75,7.09,0.98,1.19,1.69,2.54,6.74,9.8 Markup = 19% Order Total without Markup = 557.22 Markup Amount = 105.87 ******* Order Total with Markup = 663.09 ItemAmount(Item Price + (ItemPrice*Markup%)) = 1.63,4.65,10.46,12.98,11.03,10.75,9.52,12.23,8.13,7.96,6.06,9.33,9.62,4.97,3.44,6.99,11.34,2.27,6.71,0.5,1.06,6.59,9.07,6.34,12.78,8.94,3.47,3.67,5.22,3.3,4.39,6.06,5.19,11.46,9.66,1.88,7.77,6.02,2.37,8.18,1.51,7.81,12.13,2.13,10.92,5.55,11.97,5.7,8.14,10.08,0.98,7.62,10,5.83,1.63,11.69,1.92,9.81,1.19,6.5,11,2.73,10.97,10.08,4.61,11.41,6.3,2.75,7.4,0.94,10.7,5.55,0.17,8.93,2.83,7.01,1.64,10.72,10.63,0.55,11.22,7.32,7.57,11.02,3.18,9.45,10.85,8.38,0.26,12.42,8.46,3.27,8.44,1.17,1.42,2.01,3.02,8.02,11.66 ******* ItemAmountTotal = 663.16 Accumulated Error Between our two functions = -0.0682 or -0.07 7 cents off using rounding. I can give you thousands of datasets that prove the decimal system is not even distributable except under ideal or classroom conditions. You can't give me one function using rounding that will handle all possible datasets. Every fix you can name for the rounding error doesn't fix it, but only minimizes it for a particular application. Every fix you can come up with will have a dataset that breaks it. Every fix you can come up with will eventually produce a number of wrong anwers If we fully develop all the possible scenarios for using the decimal system, we will have explored each and every way to fix it. B.) About rounding after college in computers? - I wish we had time to talk about it, as you and i both agree it is facinating and a problem with a multitude of different types of "fixes". - The problem is we have limited time and as mathematical rounding errors and decimal conversion are the cause of computer rounding errors... well we're debating general and this complicates the issue for potential voters. - The issue is if the error is a flaw(which you admit) and just how bad is the flaw. C) ".9999 = 1.0" Lets look at this for a sec. Is this a natural law, a standard, or a peer agreement - In the case of natural law, i would have to say false as it cannot be created without rounding and work and value has specific meaning. It is subject to the law "if an object is set in motion it will continue forever until stopped." to hide the rounding is lazy and irresponsible. - In the case of a standard, i would have to say true. If enough people use it that way, then that is what the two symbols mean to them. This does Not however mean it is true about the VALUES of those symbols, just the USE. - In the case of a peer agreement, i would have say true as well. Still this is true only in peer group and in the context of the use of those symbols, not the reality of the value of those symbols. However, this is a debate for another forum. Lets Move On and stick the topic. D.) You said again "It's the computer's limitations of having finite bits that result in inaccuracy and inconsistency" No, the decimal system with rounding already has an error that both you and I have identified and acknowledged. The error in the decimal system came first, and is the CAUSE of the floating point errors in computers. Floating Point Arithmatic has problems with the decimal system, because it cannot be used without rounding except in ideal instances. The complexity of the rounding error is such that no two processor manufacturers round the same way. The sheer number of fixes is evidence to the complexity, the inaccuracy, and the inconsistency of this error that you feel is not small enough to consider it NOT a flaw. E.) You didn't need to, as you already have expressed it's usefullness. I myself have indicated that I use it and love it. Please read back and you will note this. The reason for using the metric system IS NOT applicable to this debate. I can't argue against it as I use it. The debate is if the decimal/metric system is flawed or not and we've since added debate over the magnitude of this flaw. We know the cause of this flaw, and it is because of rounding. We both agree on that. We know it has problems accross the board, but people have a hard time admitting it. It's a very emotional argument. But, Science is about the search for truth. About experimenting and about results. The evidence indicates the flaw. The opposition has presented evidence for minimizing the flaw that are application specific. The sheer number of types of fixes is evidence that the flaw is a lot bigger than you would make it seem. It's supposed to be easy and we've proven it is not. In conclusion, I would like to thank you for presenting the opposite side. It's been fun, and I've leaned a lot. The research and evidence is in round 1. My opponent graciously conceeded later, that the error is indeed a flaw. He position since has been "nothing is perfect", "i like the metric system", "it's not really that big of an error." Stand up for the TRUTH!!! It's Flawed