>>298
floatの有効桁数は7桁だから

float x=1.7320508075688;

とするんじゃなくて、

float x = 1.732051;

とするしかないでしょ
それが嫌なら、もっと精度の高いdoubleを使うようにして

double x = 1.7320508075688;

として、これを閾値とすればいい
そして、そのことを予め顧客に確認しておけばいい
扱うデータの桁数を予め決めておくことは設計時の重要事項でしょ

何も問題は無いと思うけど、何を悩んでるのか分からない。

もし無理数を無理数のまま無制限の精度で扱いたいなら、もうそういうライブラリを使うしかない
あるのか知らんけど