<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1141" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><SPAN class=109054414-08042003><FONT face=Arial color=#0000ff 
size=2>Charles,</FONT></SPAN></DIV>
<DIV><SPAN class=109054414-08042003><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=109054414-08042003><FONT face=Arial color=#0000ff size=2>AFAIK, 
no machine ever had this as a native instruction or datatype, it was always 
represented as a string of digits, manipulated in memory, by math 
functions.  </FONT></SPAN></DIV>
<P><FONT size=2>John W. Colby<BR>Colby 
Consulting<BR>www.ColbyConsulting.com</FONT> </P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> 
  accessd-bounces@databaseadvisors.com 
  [mailto:accessd-bounces@databaseadvisors.com]<B>On Behalf Of </B>Wortz, 
  Charles<BR><B>Sent:</B> Tuesday, April 08, 2003 9:40 AM<BR><B>To:</B> 
  accessd@databaseadvisors.com<BR><B>Subject:</B> RE: [AccessD] roundup - 
  decimal places<BR><BR></FONT></DIV>
  <DIV><SPAN class=736132213-08042003><FONT color=#0000ff 
  size=2>JC,</FONT></SPAN></DIV>
  <DIV><SPAN class=736132213-08042003><FONT color=#0000ff 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=736132213-08042003><FONT color=#0000ff size=2>Ah yes, 
  BCD.  I worked with it for many years.  As far as I am aware, no 
  modern binary computer still has this datatype as a native 
  (hardware) numeric representation.  You are correct in how it 
  worked.  On machines such as the IBM 1620 you could manipulate BCD 
  numbers of any length you desired, up to the memory limits of the 
  machine.  This was back in the days when 16K was a lot of 
  memory!</FONT></SPAN></DIV>
  <DIV><SPAN class=736132213-08042003><FONT color=#0000ff 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=736132213-08042003><FONT color=#0000ff size=2>One correction 
  to your comments.  Currency is not a floating point number 
  datatype.  AFAIK all languages that support the currency datatype 
  represent it as a long integer in the hardware and use software to keep track 
  of the implied decimal point.  Thus it is referred to as a scaled 
  integer.  If anybody knows whether Intel, AMD or any of the other chip 
  makers have imbedded the currency datatype into their hardware I would be 
  interested in knowing that.</FONT></SPAN></DIV>
  <DIV> </DIV><!-- Converted from text/rtf format -->
  <P><SPAN lang=en-us><B><FONT color=#0000ff>Charles Wortz</FONT></B></SPAN> 
  <BR><SPAN lang=en-us><FONT color=#0000ff>Software Development 
  Division</FONT></SPAN> <BR><SPAN lang=en-us><FONT color=#0000ff>Texas 
  Education Agency</FONT></SPAN> <BR><SPAN lang=en-us><FONT color=#0000ff>1701 
  N. Congress Ave</FONT></SPAN> <BR><SPAN lang=en-us><FONT color=#0000ff>Austin, 
  TX 78701-1494</FONT></SPAN> <BR><SPAN lang=en-us><FONT 
  color=#0000ff>512-463-9493</FONT></SPAN> <BR><SPAN lang=en-us><FONT 
  color=#0000ff>CWortz@tea.state.tx.us</FONT></SPAN> </P>
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
  face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> John W. Colby 
  [mailto:jcolby@ColbyConsulting.com] <BR><B>Sent:</B> Tuesday 2003 Apr 08 
  08:12<BR><B>To:</B> accessd@databaseadvisors.com<BR><B>Subject:</B> RE: 
  [AccessD] roundup - decimal places<BR><BR></FONT></DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff 
  size=2>Charles,</FONT></SPAN></DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff size=2>Are 
  you sure that Currency is just a scaled floating pt number?  I'm sure you 
  know, but for the edification of those who may not, in the old days you had a 
  form of data called BCD for binary coded decimal.  BCD is a system where 
  decimal DIGITS are stored in 4 bits.  Since 4 bits can represent the 
  values 1-15, any decimal digit can then be represented exactly without any 
  rounding error at all due to inexact representation in binary storage.  
  Then a program (functions in the math library) would manipulate strings of 
  binary coded decimal DIGITS to allow absolutely precise decimal arithmetic out 
  to the specified precision, with no errors introduced due to binary storage 
  techniques.  It was my understanding that the currency datatype was a BCD 
  datatype, scaled to 4 decimal digits right of the decimal 
  point.</FONT></SPAN></DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff size=2>My 
  understanding also is that floating point numbers are simply a binary 
  approximation stored in an 80 bit number with various combinations of the bits 
  used for the digit and the fraction.  Thus NO floating point numbers 
  (results) can be guaranteed to be correct if enough calculations are performed 
  since the results are always stored back into a binary format, introducing 
  binary storage errors in representing what are supposed to be decimal numbers 
  (down in the lowest decimal digit).  IOW, the rightmost digit will ALWAYS 
  have an error, and as you perform more and more calculations, those errors may 
  "creep" upwards into the next digit, and the next etc.  The more 
  calculations you perform, the more error creep may possibly 
  occur.</FONT></SPAN></DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=240445812-08042003><FONT face=Arial color=#0000ff size=2>BCD, 
  and Currency IF it is based on BCD, will never have this error creep since the 
  system is based on exact representations of decimal DIGITS and no binary 
  representation is ever used at any stage of the 
  calculation.</FONT></SPAN></DIV>
  <P><FONT size=2>John W. Colby<BR>Colby 
  Consulting<BR>www.ColbyConsulting.com</FONT> </P>
  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
    size=2>-----Original Message-----<BR><B>From:</B> 
    accessd-bounces@databaseadvisors.com 
    [mailto:accessd-bounces@databaseadvisors.com]<B>On Behalf Of </B>Wortz, 
    Charles<BR><B>Sent:</B> Tuesday, April 08, 2003 8:42 AM<BR><B>To:</B> 
    accessd@databaseadvisors.com<BR><B>Subject:</B> RE: [AccessD] roundup - 
    decimal places<BR><BR></FONT></DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff 
    size=2>Pedro,</FONT></SPAN></DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff 
    size=2></FONT></SPAN> </DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff size=2>You seem to 
    have a misconception of how computers work.  They are binary (base 2) 
    not decimal (base 10).  Thus numbers can only be represented as the sum 
    of powers of two.  Since all integers (numbers without fractional 
    parts) can be represented exactly as the sum of powers of two they can be 
    stored and manipulated without any loss of precision (excepting division 
    operations).</FONT></SPAN></DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff 
    size=2></FONT></SPAN> </DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff size=2>All floating 
    point numbers (numbers with fractional parts), except for those rare ones 
    where the fractional part is an exact sum of powers of two, must be 
    represented by an approximation of its value.  The precision of a 
    floating point number tell you how close to actual value the approximate 
    value can come.  Thus for Singles with about seven digits of precision, 
    you know that up to the seventh digit accurately represent the actual value 
    and any digits beyond that should not be counted on to be 
    accurate.</FONT></SPAN></DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff 
    size=2></FONT></SPAN> </DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff size=2>Thus you must 
    choose between the exact representation of integers and the approximate 
    representation of floating point numbers.  In later versions of VB and 
    other languages there is now a third choice, the currency datatype.  
    This is a compromise between the two fundamental numeric datatypes.  It 
    is a scaled integer used to represent floating point numbers where you do 
    not want more than four digits of precision for the fractional 
    part.</FONT></SPAN></DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff 
    size=2></FONT></SPAN> </DIV>
    <DIV><SPAN class=033572412-08042003><FONT color=#0000ff size=2>To get what 
    you want, you must pick from these numeric datatypes and then use the proper 
    rounding and formatting functions to get the numbers to display as you 
    desire.  There are no other choices if you are going to do it on a 
    computer.</FONT></SPAN></DIV>
    <DIV> </DIV><!-- Converted from text/rtf format -->
    <P><SPAN lang=en-us><B><FONT color=#0000ff>Charles Wortz</FONT></B></SPAN> 
    <BR><FONT face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> 
    Pedro Janssen [mailto:pedro@plex.nl] <BR><B>Sent:</B> Tuesday 2003 Apr 08 
    06:17<BR><B>To:</B> accessd@databaseadvisors.com<BR><B>Subject:</B> Re: 
    [AccessD] roundup - decimal places<BR><BR></FONT></P>
    <DIV><FONT face=Arial size=2>Hello Charlotte,</FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>i want truly round numbers with 1 
    precision.</FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>Pedro Janssen</FONT></DIV>
    <BLOCKQUOTE 
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
      <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
      <DIV 
      style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
      <A title=cfoust@infostatsystems.com 
      href="mailto:cfoust@infostatsystems.com">Charlotte Foust</A> </DIV>
      <DIV style="FONT: 10pt arial"><B>To:</B> <A 
      title=accessd@databaseadvisors.com 
      href="mailto:accessd@databaseadvisors.com">accessd@databaseadvisors.com</A> 
      </DIV>
      <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, April 07, 2003 7:41 
      PM</DIV>
      <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [AccessD] roundup - 
      decimal places</DIV>
      <DIV><BR></DIV>
      <DIV><SPAN class=869084117-07042003><FONT face="Comic Sans MS" 
      color=#0000ff size=2>You're going to have to explain whether you want to 
      truly round numbers or just display them that way.  The Decimal 
      places setting addresses the display, not the 
      precision.</FONT></SPAN></DIV>
      <DIV><SPAN class=869084117-07042003><FONT face="Comic Sans MS" 
      color=#0000ff size=2></FONT></SPAN> </DIV>
      <DIV><SPAN class=869084117-07042003><FONT face="Comic Sans MS" 
      color=#0000ff size=2>Charlotte Foust</FONT></SPAN></DIV>
      <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
        <DIV></DIV>
        <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
        face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Pedro 
        Janssen [<A href="mailto:pedro@plex.nl">mailto:pedro@plex.nl</A>] 
        <BR><B>Sent:</B> Monday, April 07, 2003 9:25 AM<BR><B>To:</B> <A 
        href="mailto:accessd@databaseadvisors.com">accessd@databaseadvisors.com</A><BR><B>Subject:</B> 
        Re: [AccessD] roundup - decimal places<BR><BR></FONT></DIV>
        <DIV><FONT face=Arial size=2>Hello Charles,</FONT></DIV>
        <DIV> </DIV>
        <DIV><FONT face=Arial size=2>when i type 5,1 i type 5,1 and not 
        .</FONT></DIV>
        <DIV><FONT face=Arial size=2>How does a computer changes 5,1 into 
        5,11415899 although i type 5,1.</FONT></DIV>
        <DIV> </DIV>
        <DIV><FONT face=Arial size=2>What is the use of decimal places:1, with 
        field size: single, when the pc makes a lott of decimal places from it. 
        Then this property better wasn't available when using numbers (not 
        currency).</FONT></DIV>
        <DIV><FONT face=Arial size=2>Is there a way to roundup the numbers to 
        1decimal place without using currency.</FONT></DIV>
        <DIV> </DIV>
        <DIV><FONT face=Arial size=2>Pedro Janssen</FONT></DIV>
        <BLOCKQUOTE 
        style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
          <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
          <DIV 
          style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
          <A title=CWortz@tea.state.tx.us 
          href="mailto:CWortz@tea.state.tx.us">Wortz, Charles</A> </DIV>
          <DIV style="FONT: 10pt arial"><B>To:</B> <A 
          title=accessd@databaseadvisors.com 
          href="mailto:accessd@databaseadvisors.com">accessd@databaseadvisors.com</A> 
          </DIV>
          <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, April 07, 2003 5:42 
          PM</DIV>
          <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [AccessD] roundup - 
          decimal places</DIV>
          <DIV><BR></DIV>
          <DIV><SPAN class=853123615-07042003><FONT color=#0000ff 
          size=2>Pedro,</FONT></SPAN></DIV>
          <DIV><SPAN class=853123615-07042003><FONT color=#0000ff 
          size=2></FONT></SPAN> </DIV>
          <DIV><SPAN class=853123615-07042003><FONT color=#0000ff 
          size=2>Remember, you are working on a binary computer.  Thus 
          decimal numbers must be approximated as the sum of powers of 
          two.  For integer numbers these approximations are exact 
          representations.  For floating point numbers, these 
          approximations are just that - approximations.  None of your 
          floating point numbers are stored with just one digit to the right of 
          the decimal point, they are only displayed to you as 
          such.</FONT></SPAN></DIV>
          <DIV><SPAN class=853123615-07042003><FONT color=#0000ff 
          size=2></FONT></SPAN> </DIV>
          <DIV><SPAN class=853123615-07042003><FONT color=#0000ff size=2>If you 
          cannot learn to live with floating point numbers, then convert them to 
          the currency datatype.  The currency datatype will meet many of 
          you computational needs.</FONT></SPAN></DIV>
          <DIV> </DIV>
          <DIV> </DIV><!-- Converted from text/rtf format -->
          <P><SPAN lang=en-us><B><FONT color=#0000ff>Charles 
          Wortz</FONT></B></SPAN> <BR><FONT face=Tahoma size=2>-----Original 
          Message-----<BR><B>From:</B> Pedro Janssen [mailto:pedro@plex.nl] 
          <BR><B>Sent:</B> Monday 2003 Apr 07 10:30<BR><B>To:</B> 
          AccessD@databaseadvisors.com<BR><B>Subject:</B> [AccessD] roundup - 
          decimal places<BR><BR></FONT></P>
          <DIV><FONT face=Arial size=2>Hello Group,</FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>i have a tableA with 5 fields (field 
          size: single, decimal places:1)</FONT></DIV>
          <DIV><FONT face=Arial size=2>Not all fields have values.</FONT></DIV>
          <DIV><FONT face=Arial size=2>I want the difference from al those 
          field, so i added a field diff.</FONT></DIV>
          <DIV><FONT face=Arial size=2>I made an update query with the following 
          sql:</FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>UPDATE TableA SET TableA.[diff] = 
          100-Nz([field1],0)-Nz([[field2],0)- etc. etc.;<BR></FONT></DIV>
          <DIV><FONT face=Arial size=2>The result that i get in field diff gives 
          many records with more then 1 decimal places.</FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>For example: When i have a record which 
          contains values like 5,1 and 94,9 (all values are typed in this way 
          and are not calculated) i get as result 0,11176548</FONT></DIV>
          <DIV><FONT face=Arial size=2>or a record that contains values like 
          20,5 and 20,5 i get as result 59,997854.</FONT></DIV>
          <DIV><FONT face=Arial size=2>Some result do have only one decimal 
          place.</FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>How is this possible? </FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>TIA</FONT></DIV>
          <DIV> </DIV>
          <DIV><FONT face=Arial size=2>Pedro 
      Janssen</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
<DIV>
<HR>
</DIV>
<DIV>Is email taking over your day? Manage your time with eMailBoss. Try it 
free! <A 
href="http://www.eMailBoss.com">http://www.eMailBoss.com</A></DIV></BODY></HTML>