float型の変数をuGuiのTextコンポーネントに表示していたのですが、
加算し続けたら値が-21474836となってそれ以降は値が加算されなくなってしまいました。

知りたい事は以下の3つになります。
float型の範囲を超えてしまったようなのですが、この場合は始めからdoubleを使うのが正しいのでしょうか?
UnityのPlayerprefsでdoubleが保存できないのでfloatを使ってたのですが、double型の保存はどのように対処しているのでしょうか。
double型でも毎秒数千億加算し続けると範囲を超えそうな気がするのですが、その場合に値を正しく表示する手段はあるのでしょうか?

初心者なので恐縮ですが、どなたかお答えいただけると助かります。