That's what I cannot understand.
len(substr(allt(padr(lnVar,20)), at(".", allt(padr(lnVar,20)) )+1 ) )
should return 3 for 130. IOW it means :
len(substr(allt(padr(lnVar,20)), 1))
You could then use :
iif(at(".",padl(lnVar,20))=0,0,....)
Cetin
>Hi Cetin,
>
> The problem is
> it returns 1 if the value is 130.9
> it returns 1 if the value is 130.0 is right
> but the problem is it returns 1 even if the value us just 130 and not decimal places
>
>Thanks
>Amit
>
>
>
>
>I expected it to return number of digits in integer part (3 for 130.9898).
>I think you mean you threat 130.0000 with no decimal places. Then make it :
>iif(int(lnVar)=lnVar,0,;
> len(substr(allt(padr(lnVar,20)), at(".", allt(padr(lnVar,20)) )+1 ) ))
>If you use VFP6 then Doug's method is shorter.
>Cetin
>Çetin Basöz