Método correcto para convertir una cadena en un flotante

programación

[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

C#
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]

コメント

Título y URL copiados