Float är korrekt till 15 signifikanta siffror endast (i SQL Server).
Detta visas av 1.52415693411713 E+17
där 1.52415693411713
(15 siffror) är så exakt som du kan bli. Den sista 020...
efter 152415693411713
med STR
är uppbyggd är upplösningen för flyttal
För att behålla precisionen, använd inte flytande. Så enkelt är det. CAST till decimal om du vill för beräkning, men om du CAST tillbaka för att flyta är begränsad till 15 siffror
Se "Vad varje datavetare bör veta om flytande-punktsarithmetik "