Float tem precisão de 15 algarismos significativos apenas (no SQL Server).
Isso é demonstrado por
1.52415693411713 E+17
onde 1.52415693411713
(15 dígitos) é o mais preciso possível. O 020...
final depois de 152415693411713
com STR
é Para manter a precisão, não use float. É tão simples. CAST para decimal se você quiser para cálculo, mas se você CAST de volta para float, você é limitado a 15 dígitos
Consulte "O que todo cientista da computação deve saber sobre aritmética de ponto flutuante "