Hi,
I guess the simple answer is:
fTotal += Val(tblView[row, column].text)
However, you will eventually run into rounding errors.
there was quite a lengthy thread not long ago about this. The conclusion (if
such a thing can be reached on a forum :-)) was that currency should be
worked on as integers and decimal points added at display time. The problem
is compounded by barmy tax authorities on the continent who demand
calculations to four decimals.
At the time, I wrote the following simply as a test. As with most of my
programming, it is unlikely to be the most efficient method. :blush:
PUBLIC SUB btnRun_Click()
DIM iInt AS Integer
DIM j AS Integer
IF InStr(txtInput.text, .) = 0 THEN 'no decimal entered ie assume in
cents
TRY iInt = Val(txtInput.text)
IF ERROR THEN
PRINT trapped 'do someting if it is not a number
ENDIF
ELSE
iInt = Val(txtInput.text) * 10 ^ Val(txtDecPlaces.text) + 0.5 'multiply
out
ENDIF
txtInteger.text = Str(iInt) 'display integer representation
IF Len(txtInteger.text) Val(txtDecPlaces.text) THEN 'if the integer
equivalent is long enough to accomodate the required dec places
lblOutput.text = Str(Left(txtInteger.text, Len(txtInteger.text) -
Val(txtDecPlaces.text))) . Str(Right(txtInteger.text,
Val(txtDecPlaces.text)))
ELSE 'pad out with leading zeroes
lblOutput.text = Str(txtInteger.text)
FOR j = Len(txtInteger.text) TO Val(txtDecPlaces.text) - 1
lblOutput.text = 0 lblOutput.Text
NEXT
lblOutput.text = 0. lblOutput.text
ENDIF
END
rgds
--
View this message in context:
http://old.nabble.com/Currency-and-addition-subtraction-tp27872220p27874102.html
Sent from the gambas-user mailing list archive at Nabble.com.
--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user