Was willst du eigentlich genau erreichen?
Woher weißt du denn, dass wegen drei gleichen Ziffern alle darauffolgenden Ziffern auch gleich sind? Und was machst du, wenn die Periodizität nicht aus nur einer Ziffer besteht, sondern aus mehreren? Eine belastbare Aussage dazu kannst du aus der String-Analyse ohnehin nicht ziehen. Von daher rundet man in der Regel auf eine bestimmte Anzahl signifikanter Stellen.
Wenn du angeben willst, dass die Dezimaldarstellung der Zahl "exakt" ist, wird es etwas komplizierter, würde ich denken.
Aber wenn du das so machen willst, dann würde ich die Analyse de Zahl von hinten beginnen - und dann einfach nur die erste der letzten paar gleichen Ziffern anzeigen. Dabei kannst du dann auch noch berücksichtigen, ob die letzte ggf. abweichende Ziffer (z.B. bei 0,66666667) durch Aufrunden zustande gekommen sein könnte.
The angels have the phone box.