web-dev-qa-db-fra.com

Comment pourrais-je convertir des données de chaîne en long en c #

Comment pourrais-je convertir des données de chaîne à long en C #?

J'ai des données

String strValue[i] ="1100.25";

maintenant je le veux dans

long l1;
83
MayureshP
Convert.ToInt64("1100.25")

Méthode de signature de MSDN:

public static long ToInt64(
    string value
)
162
Will Bellman

Si vous voulez obtenir la partie entière de ce nombre, vous devez d'abord le convertir en un nombre flottant, puis lancer un long.

long l1 = (long)Convert.ToDouble("1100.25");

Vous pouvez utiliser Math class pour arrondir le nombre à votre guise ou simplement tronquer ...

42
BrunoLM

http://msdn.Microsoft.com/en-us/library/system.convert.aspx

l1 = Convert.ToInt64(strValue)

Bien que l’exemple que vous avez donné ne soit pas un entier, je ne suis donc pas sûr de savoir pourquoi vous le voulez aussi longtemps.

9
John

Vous pouvez aussi utiliser long.TryParse et long.Parse.

long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
8
majid zareei

Vous ne pourrez pas le convertir directement en long à cause du point décimal, je pense que vous devriez le convertir en décimal, puis le convertir en long comme ceci:

String strValue[i] = "1100.25";
long l1 = Convert.ToInt64(Convert.ToDecimal(strValue));

j'espère que cela t'aides!

4

long est représenté en interne sous le nom System.Int64, qui est un entier signé de 64 bits. La valeur que vous avez prise "1100.25" est en réalité décimale et non pas entière, elle ne peut donc pas être convertie en long.

Vous pouvez utiliser:

String strValue = "1100.25";
decimal lValue = Convert.ToDecimal(strValue);

pour le convertir en valeur décimale

3
sandyiit

Vous pouvez aussi faire en utilisant Int64.TryParse Méthode. Il renverra "0" s'il s'agit d'une valeur de chaîne sans générer d'erreur.

Int64 l1;

Int64.TryParse(strValue, out l1);
1
Pankaj Agarwal

long l1 = Convert.ToInt64 (strValue);

Ça devrait le faire.

1
stuartmclark
long=convert.toDouble("strvalue")
0