PDA

View Full Version : Looking for a shorter way of equating



sayzer
- 6th August 2006, 16:20
Hi there,
I am wondering if there is a much shorter way of doing this?




'VARX is a word.

VARX = 56789
'I need digit4 and digit3 (56) from this number in to a byte variable;

'I do it in this way:
VAR_Fisrt = (VARX DIG 4)*10 + (VARX DIG 3)
'This gives me 56.

'I also need digit2 and digit1 (78) in to another byte variable;
'I do it in this way:
VAR_Second = (VARX DIG 2)*10 + (VARX DIG 1)
' This gives me 78.




Thanks inn advance.

Darrel Taylor
- 6th August 2006, 20:05
sayzer,

Don't know if it's any better or not, but here's a different way.

VARX = 56789
'I need digit4 and digit3 (56) from this number in to a byte variable;

'I do it in this way:
VAR_Fisrt = (VARX DIG 4)*10 + (VARX DIG 3)
'This gives me 56.
VAR_Fisrt = VARX / 1000


'I also need digit2 and digit1 (78) in to another byte variable;
'I do it in this way:
VAR_Second = (VARX DIG 2)*10 + (VARX DIG 1)
' This gives me 78.
VAR_Second = (VARX / 10) // 100
<br>

sayzer
- 7th August 2006, 08:28
Thanks DT, but what about the rounding?

I thought that it is going to round the result when divided by 1000.
In our case, we should be getting 56 dividing by 1000, but since the next digit is 7 which is over 5, the actual result will be 57 (56 will be rounded to 57)

Or is it not?

Darrel Taylor
- 7th August 2006, 08:59
Nope,

No rounding involved. It only gives the integer value of the division.

DT