Necesito convertir un Float a Decimal (28,10) en SQL Server. Mi problema es que, debido a la naturaleza del flotante y la forma en que se realizan las conversiones, simplemente lanzar el flotador puede hacer que parezca ser el número equivocado para mis usuarios.Convertir Flotante en Decimal (SQL Server)
Por ejemplo:
Float: 280712929.22
Cast as Decimal: 280712929.2200000300
What I think I want: 280712929.2200000000
entiendo un poco acerca de las obras de flotador manera (que es un tipo de datos aproximados, etc.), pero ciertamente no es suficiente para entender por qué se añade el 300 al final. ¿Es simplemente basura como un efecto secundario de la conversión, o es de alguna manera una representación más exacta de lo que almacena el flotador? Para mí, parece que ha sacado precisión de la nada.
En última instancia, necesito que sea preciso, pero también que luzca "bien". Creo que necesito obtener ese número inferior, ya que parece que acabo de agregar ceros finales. es posible? ¿Es esta una buena o mala idea, y por qué? Otras sugerencias son bienvenidas.
Algunos otros ejemplos:
Float: 364322379.5731
Cast as Decimal: 364322379.5730999700
What I want: 364322379.5731000000
Float: 10482308902
Cast as Decimal: 10482308901.9999640000
What I want: 10482308902.0000000000
Nota al margen: la nueva tabla de base de datos que estoy poniendo estos valores en mi es legible por el usuario. En realidad, solo necesitan dos decimales en este momento, pero eso podría cambiar en el futuro, así que decidimos ir con Decimal (28,10). El objetivo a largo plazo es convertir también las columnas flotantes de las que estoy obteniendo mis datos a decimal.
EDITAR: A veces las carrozas que tengo tienen más decimales que las que necesitaré, por ejemplo: -0.628475064730907. En esta situación, el elenco a -0.6284750647 está bien. Básicamente necesito mi resultado para agregar ceros al final del flotante hasta que tenga 10 lugares decimales.
Tal vez he encontrado la respuesta. http://stackoverflow.com/questions/34316871/how-can-the-following-result-of-casting-from-float-to-numeric-be-explained –