Determine if a number is float.
Deze functie had ik nodig om te bepalen of een getal uit een tekstbestand een float is of niet. De standaard datastage controles voldeden niet omdat Datastage probeert te bedenken wat het zou moeten zijn. --1 zet Datastage bijvoorbeeld om naar -1. Deze functie is heel strict.
Function IsFloat(Num, DecimalSymbol,NullAllowed)
Result = 0
LenNum = Len(Trim(Num))
If LenNum = 0 and NullAllowed = "N" then Result = 0
Else
StrTemp = trim(Num)
L = Len(StrTemp)
If (L > 0) Then
If StrTemp [1,1] = "-" then StrTemp = Num[2,L-1] ;* remove the minus symbol
if Count(StrTemp,DecimalSymbol) <= 1 then ;* is there no more than one decimal symbol?
StrTemp= Convert(DecimalSymbol,"",StrTemp) ;* remove the decimal symbol
If StrTemp Match Len(StrTemp) : "N" then ;* Are all other chars numeric?
Result = 1
end
end
end
else
Result = 1
end
end
Ans = Result