home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 421 / money.bas < prev    next >
BASIC Source File  |  1993-08-03  |  1KB  |  61 lines

  1. DECLARE FUNCTION CnvSngStr$ (amount!)
  2. DEFINT A-Z
  3.  
  4. 'money.bas
  5. '17-Aug-92 chh
  6.  
  7. 'make a string out of money for a BULLET numeric type
  8.  
  9. TYPE PayrollTYPE
  10. Tag AS STRING * 1
  11. AnyField AS STRING * 25
  12. Salary AS STRING * 9    'room for -12345.67
  13. END TYPE
  14. DIM PAY AS PayrollTYPE
  15.  
  16. CLS
  17. money! = 123.456
  18. mkm$ = CnvSngStr$(money!)
  19. RSET PAY.Salary = mkm$
  20. PRINT "        Original !:>"; money!; "<"
  21. PRINT "       Converted $:>"; mkm$; "<"
  22. PRINT "RSET in STRING * 9:>"; PAY.Salary; "<"
  23. PRINT
  24.  
  25. money! = -1!
  26. mkm$ = CnvSngStr$(money!)
  27. RSET PAY.Salary = mkm$
  28. PRINT "        Original !:>"; money!; "<"
  29. PRINT "       Converted $:>"; mkm$; "<"
  30. PRINT "RSET in STRING * 9:>"; PAY.Salary; "<"
  31. PRINT
  32.  
  33. money! = 41245.13
  34. mkm$ = CnvSngStr$(money!)
  35. RSET PAY.Salary = mkm$
  36. PRINT "        Original !:>"; money!; "<"
  37. PRINT "       Converted $:>"; mkm$; "<"
  38. PRINT "RSET in STRING * 9:>"; PAY.Salary; "<"
  39. PRINT
  40.  
  41. FUNCTION CnvSngStr$ (amount!)
  42.  
  43. 'make a string out of a single!
  44. 'make money so 2 places right of decimal
  45.  
  46. round! = SGN(amount!) * .005
  47. money$ = STR$(amount! + round!)
  48.  
  49. dp = INSTR(money$, ".")
  50. IF dp = 0 THEN
  51.    dp = LEN(money$) + 1
  52.    c$ = ".00"
  53. ELSE
  54.    c$ = LEFT$(MID$(money$, dp) + "0", 3)
  55. END IF
  56.  
  57. CnvSngStr$ = LEFT$(money$, dp - 1) + c$
  58.  
  59. END FUNCTION
  60.  
  61.