Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why am I getting a logical instead of a number
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Why am I getting a logical instead of a number
Miscellaneous
Thread ID:
00761511
Message ID:
00761511
Views:
71
I'm sure it is just because I have been working on this tooooo long. Yesterday I got the results I wanted, today I am getting a logical output instead of the number I am trying to calculate. What is the error of my ways? Using VFP6 sp5 on Win2K sp2.
LOCAL dSchedDate, dRcvDate, nItemCuft, nItemRate, nNumberOfDays, nFreeDays, nDaysInMonth, nStorageDue, amt_due

dSchedDate = ctod('03/16/2003')
dRcvDate = ctod('02/25/2003')
nItemCuft = 90
nItemRate = .50
nNumberOfDays = 0
nStorageDue = 0
amt_due = 0.00
nFreeDays = 14
nDaysInMonth = 31

IF MONTH(dRcvDate) = MONTH(dSchedDate)
	dStartCalcDate = dRcvDate + nFreeDays
	IF dStartCalcDate >= dSchedDate
		nNumberOfDays = 0
	ELSE
		nNumberOfDays = DAY(dSchedDate) - DAY(dStartCalcDate) + 1
	ENDIF
ENDIF
*** received date was in a previous month
*** determine if we use the first of the month or find how many freedays in last month
IF MONTH(dRcvDate + nFreeDays) < MONTH(dSchedDate)
	dStartCalcDate = 1
ELSE
	dStartCalcDate = dRcvDate + nFreedays
ENDIF
nNumberOfDays = DAY(dSchedDate) - DAY(dStartCalcDate) + 1
*** do the calculation
? nStorageDue = (nItemRate/nDaysInMonth) * nItemCuft * nNumberOfDays
? amt_due = ROUND(nStorageDue, 2)
*** no negative amounts allowed
IF amt_due < 0
	amt_due = 0
ENDIF
TIA
Opportunity is missed by most people beacuse it is dressed in overalls, and looks like work --- Thomas Edison
Next
Reply
Map
View

Click here to load this message in the networking platform