Я очень мало знаю о ASP или Vb Script. Я пытаюсь устранить ошибку, из-за которой процедура, написанная на классическом ASP, неожиданно округляется до меньшего нечетного числа.
Насколько я понимаю, Round() должен «округляться до четного». Поскольку 720 * 51/160 = 229,5, Round(720 * 51/160, 0) должен равняться 230. Однако страница ASP постоянно возвращает 229.
Фактический код ASP скопирован ниже. Переменные в этом экземпляре следующие:
FreeElig = 51
RedcElig = 0
PaidElig = 109
TotMlsSrvAms = 720
MlsSrvAmsFr is returning the questionable value.
Я ценю любую помощь, которую вы можете предоставить.
Спасибо.
Sub ClaimCalcs()
Dim tmpTtlEnroll, tmpFreeEnroll, tmpRedcEnroll, tmpPaidEnroll, tmpPct
Dim GreaterValue
tmpFreeEnroll = CLng(SetZero(FreeElig))
tmpRedcEnroll = CLng(SetZero(RedcElig))
tmpPaidEnroll = CLng(SetZero(PaidElig))
tmpTtlEnroll = tmpFreeEnroll + tmpRedcEnroll + tmpPaidEnroll
If tmpTtlEnroll > 0 Then
tmpPct = tmpFreeEnroll / tmpTtlEnroll
Else
tmpPct = 0
End If
MlsSrvAmsFr = Round(CLng(SetZero(TotMlsSrvAms)) * tmpPct, 0 )