variable usar sirve que programacion para float example ejemplo como c#

c# - usar - que es int en programacion



¿Qué tipo de datos debo usar para representar dinero en C#? (6)

En C #, ¿qué tipo de datos debo usar para representar cantidades monetarias? ¿Decimal? ¿Flotador? ¿Doble? Quiero tomar en consideración: precisión, redondeo, etc.


Considere usar Money Type para CLR . Es un tipo de valor personalizado (struct) que también admite monedas y maneja problemas de redondeo.


En C # Debes tomar " Decimal " para representar montos monetarios.


En C #, el tipo Decimal en realidad es una estructura con funciones sobrecargadas para todas las operaciones matemáticas y de comparación en la base 10, por lo que tendrá errores de redondeo menos significativos. Un float (y double), por otro lado, es similar a la notación científica en binario. Como resultado, los tipos de Decimal son más precisos cuando conoce la precisión que necesita.

Ejecute esto para ver la diferencia en la precisión de 2:

using System; using System.Collections.Generic; using System.Text; namespace FloatVsDecimal { class Program { static void Main(string[] args) { Decimal _decimal = 1.0m; float _float = 1.0f; for (int _i = 0; _i < 5; _i++) { Console.WriteLine("float: {0}, decimal: {1}", _float.ToString("e10"), _decimal.ToString("e10")); _decimal += 0.1m; _float += 0.1f; } Console.ReadKey(); } } }


Use decimal y dinero en el DB si usa SQL.



Use System.Decimal :

El tipo de valor decimal representa números decimales que van desde positivos 79,228,162,514,264,337,593,543,950,335 a negativos 79,228,162,514,264,337,593,543,950,335. El tipo de valor Decimal es apropiado para cálculos financieros que requieren grandes cantidades de dígitos integrales y fraccionarios significativos y sin errores de redondeo. El tipo Decimal no elimina la necesidad de redondeo. Más bien, minimiza los errores debidos al redondeo.

Ni System.Single ( float ) ni System.Double ( double ) son lo suficientemente preciso capaz de representar números de punto flotante de alta precisión sin errores de redondeo.