## The most freakish behavior ever

I am totally going insane. I have a .asp file that retrieves some numbers from a database and divides them. Here is the code:<BR><BR> DG(I) = cint(Request("DG" & I))<BR> DR(I) = cint(Request("DR" & I))<BR> if (Maps(I) = "[None]") then<BR> DRO(I) = 0<BR> elseif (DR(I) &#062; 0) then<BR> DRO(I) = Round(DG(I)/DR(I), 4)<BR> else<BR> DRO(I) = 100<BR> end if<BR><BR>If I response.write the value of CDO at this point, it will show up nice and rounded to 4 decimal places, no problem.<BR><BR>Later on the page, I have this section:<BR><BR> if DRO(W) &#062;= FH then<BR> FH = FH + 1<BR> end if<BR><BR>At this point in the file, by some totally inexplicable reason that&#039;s driving me insane, the value in DRO(W) is reverted back to a value with more than 4 decimal places! <BR><BR>o There is no code whatsoever in between the two sections that is modifying DRO(x). <BR><BR>o I tried putting a response.write on the value in DRO(W) just before the "if DRO(W) &#062;= FH then" line and it prints with 4 decimal places, but if I put another identical response.write after the "end if", it goes back to &#062;4 decimal places!<BR><BR>o The most freakish thing of all... In the first section where the initial value of DRO(I) is assigned, I tried this:<BR><BR> elseif (DR(I) &#062; 0) then<BR> blah = Round(DG(I)/DR(I), 4)<BR> DRO(I) = blah<BR> else<BR><BR>In doing this, DRO(I) will *never* hold the unrounded value ever, but by some supernatural force, it STILL showed up with &#062;4 decimal places later on in the DRO(W) section!! <BR><BR>How can this possibly happen???