2010-07-01 13 views

Respuesta

9

Si está tratando con la moneda, entonces usaría double como mínimo, si no es decimal. Dicho desea:

double value = double.Parse(txtPurchItemCorrectPrice.Text.Trim()); 

Si no está seguro de si va a ser una serie o no:

double value; 
bool isOK = double.TryParse(txtPurchItemCorrectPrice.Text.Trim(), out value); 
+0

Siempre será un número, ya que es un campo de moneda; – user279521

+2

@ user279521 - si puede garantizar al 100% que vaya con 'Parse' en lugar de' TryParse'. – ChrisF

4

¿Se refiere al tipo C# float?

float f = float.Parse(text); 

O ...

float value; 
if (float.TryParse(text, out value)) 
{ 
    // Yay! 
} 
else 
{ 
    // Boo! Parse failed... 
} 

Tenga en cuenta que el código anterior utilizará la cultura actual. Es posible que desee especificar una cultura diferente, p.

... 
if (float.TryParse(text, out value, NumberStyles.Float, 
        CultureInfo.InvariantCulture)) 
... 

EDIT: Si esto es en realidad una columna de flotación en una base de datos, puede desea utilizar double lugar.

Tenga en cuenta que la información de la moneda normalmente debe no almacenarse utilizando flotación/doble; debe almacenarse usando decimal tipo, p. ej. decimal (C#) y NUMBER (SQL).

+0

bueno, esta es mi prueba en el lado asp txtPurchItemCorrectPrice.Text.Trim(); y el parametro db espera un tipo de datos flotante. – user279521

+0

@ user279521: ¿Eso es "flotante" en la base de datos? Si es así, puede querer "double2 en el lado C#. –

+0

desearía poder cambiar el tipo de datos DB a número ... tomaría un acto de congreso. Gracias por la información. – user279521

0
float.TryParse(…) 

Eso evita generar una excepción en la entrada no válida.

0

Dim x As Double = Convert.ToDouble (txtPurchItemCorrectPrice.Text.Trim())

Cuestiones relacionadas