* Author............: Charlie Schreiner * Created...........: 12/20/94 PARAMETERS m.Number, m.Join LOCAL End, Digit End = '' ASSERT VARTYPE(m.Number) = "N" MESSAGE "You must pass a number to this function." IF VARTYPE(m.Join) <> "L" Join = .T. ENDIF Digit = RIGHT(STR(INT(m.Number)),1) DO CASE CASE m.Digit = "1" AND NOT RIGHT(ALLTRIM(STR(INT(m.Number))),2) = "11" && Eleventh is 11th, not 11st. End = "st" CASE m.Digit = "2" AND NOT RIGHT(ALLTRIM(STR(INT(m.Number))),2) = "12" && Twelve is 12th, not 12nd. End = "nd" CASE m.Digit = "3" AND NOT RIGHT(ALLTRIM(STR(INT(m.Number))),2) = "13" && Thirteen is 13th, not 13rd. End = "rd" OTHERWISE End = "th" ENDCASE RETURN IIF(m.Join,ALLTRIM(STR(m.Number) + m.End),m.End)>Hi people!