[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
RE: st: Re: summing up digits and comparing to a check digit
gen x = string(myvar, "%07.0f")
gets you there in one.
> I agree wholeheartedly with Michael Blasnik's opening caveat--was your
> example 12050457 => 0+5+0+4+5+7=21/10=2+1 => check digit=1 supposed to
> be 1050457 => 0+5+0+4+5+7=21/10=2+1 => check digit=1 by any chance?
> As for his solution, it works well except when digits may be fewer
> than 6 digits when turned into strings--I would replace his second
> line with
> replace x=substr("0000000",1,7-length(x))+x
> to pad numbers out to y digits with leading zeros, and then
> add another line
> assert length(x)==7
> to make sure there are no odd cases.
> . li m x c, noo clean
> myvar x check
> 105059 0105059 0
> 2459 0002459 0
> 7102059 7102059 7
> On 3/15/06, Michael Blasnik <email@example.com> wrote:
> > I'm not sure I understand the problem -- one of your
> examples is an 8 digit
> > number but you say you have 7 digit numbers. Anyway, here
> is some "highly
> > advanced programming" (?) :
> > gen x=string(myvar)
> > replace x="0"+x if length(x)==6
> > gen
> > make sure to remove any line break that the email puts in
> the last line.
* For searches and help try: