4.3BSD/usr/contrib/icon/book/f/cdigit.icn

procedure cdigit(s)
   local s1
   s1 := ""
    s ? {
      &pos := 0
      while s1 := "," || move(-3) || s1
      if pos(1) then s1 := s1[2:0]
      else s1 := tab(1) || s1
      }
   return s1
end