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;
Convert.ToInt64("1100.25")
Méthode de signature de MSDN:
public static long ToInt64(
string value
)
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 ...
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.
Vous pouvez aussi utiliser long.TryParse
et long.Parse
.
long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
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!
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
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);
long l1 = Convert.ToInt64 (strValue);
Ça devrait le faire.
long=convert.toDouble("strvalue")