Comment pourrais-je compter le nombre de chiffres à droite du séparateur décimal à virgule flottante de la colonne?

J'ai de la table avec les Latitudes et les Longitudes sont stockés en tant qu'floating points. Comment pourrais-je compter le nombre de chiffres à droite de la virgule décimale dans la Latitude de la colonne? Les données ressemblerait à quelque chose comme ceci:

    DECLARE @MyData TABLE (ID, Latitude float, Longitude float)
    INSERT @MyData

    SELECT 'A', 33.11, -55.2235 UNION ALL
    SELECT 'B', 33.6407760431,-87.0002760543 UNION ALL
    SELECT 'C', 42.2997,-70.9081; 

et je veux que cette

    ID    |   LatitudeNumberOfDigits
     A    |    2
     B    |   10
     C    |    4

J'ai essayé de le convertir en texte et la découper à l'aide d'un . comme un délimiteur mais la CONVERTIR n'a pas fonctionné comme prévu. Il arrondi à quatre chiffres significatifs

    SELECT ID, Latitude, Longitude, 
    CONVERT(varchar(max),[Latitude]) AS LatText 
    FROM @MyData

M'a donné

     ID Latitude    Longitude        LatText
     A  33.11           -55.2235         33.11
     B  33.6407760431   -87.0002760543   33.6408
     C  42.2997         -70.9081         42.2997

Merci !

Depuis la conception originale de kilomètres à l'est de 10 000 km = distance N Pôle à l'Équateur, à 10 000 km ≈ 90°, donc il y a environ 111 km par degré, donc 1×10-11 ° ≈ 111×10-11 km ≈ 1110×10-12 km ≈ 1.11×10⁻⁹ km ≈ 1×10⁻⁶ m ≈ 1 µm. Il est généralement un peu difficile à identifier la partie de l'objet sur lequel vous vous référez au micromètre. En d'autres termes, 11 décimales est d'au moins 3 trop nombreux (8 places serait d'environ millimètre), et probablement 6 de trop nombreux (5 places voudrais vous donner un mètre de précision).

OriginalL'auteur user918967 | 2012-01-17