[ad_1]
Hola a todos,
Pregunta tonta, pero necesito convertir una cadena que he leído de un archivo a un número de coma flotante, es decir, “0,45” a 0,45. Un método que he usado en el pasado fue hacer un
string strValue = "0.45"; fltValue = strValue.ToDouble();
Esto dio un número de punto flotante que creo recordar, pero era GRANDE.
¿Existe una forma sencilla y rápida de obtener un número de dos dígitos?
He visto ConvertTo.Decimal() y ConvertTo.Double(), ¡solo intento hacerlo bien!
Lo que he probado:
Tío Google, MSDN Docs, agregando ToDouble() y ConvertTo e intenté convertir el valor usando los métodos C
Max_Value = (float)StrMax_Value;
Solución 1
Cita:Esto dio un número de punto flotante que creo recordar, pero era GRANDE.
¿Qué pretendes con ‘GRANDE’?
Sabes, double
el tamaño de los datos es 8
bytes (independientemente del método de conversión que esté utilizando).
Qué hay de malo en Método Double.Parse (Sistema) | Microsoft aprende[^] y Método Double.TryParse (Sistema) | Microsoft aprende[^]?
Solución 2
Creo que la forma correcta sería como
string numberString = "0.45"; if (string.IsNullOrEmpty(strValue)) { // Handle the case of null or empty string (e.g., return default value, throw exception) Console.WriteLine("String is null or empty."); return; // Or throw an exception } // Proceed with conversion only if the string is not null or empty float floatValue; if (!float.TryParse(strValue, out floatValue)) { // Handle the case of invalid format or raise Exception Console.WriteLine("Invalid number format."); } //Conversion successful, use floatValue
Idealmente, debería tener una clase auxiliar con funciones auxiliares como ConvertToFloat en la que incruste la lógica anterior para tener un resultado consistente.
[ad_2]
コメント