C#でデータを文字列からlongに変換するにはどうすればよいですか?
データがあります
String strValue[i] ="1100.25";
今私はそれが欲しい
long l1;
Convert.ToInt64("1100.25")
MSDNのメソッドシグネチャ:
public static long ToInt64(
string value
)
その数値の整数部分を取得する場合は、最初にその数値を浮動小数点数に変換してからlongにキャストする必要があります。
long l1 = (long)Convert.ToDouble("1100.25");
Math
クラスを使用して、必要に応じて数値を切り上げたり、単に切り捨てたりできます...
http://msdn.Microsoft.com/en-us/library/system.convert.aspx
l1 = Convert.ToInt64(strValue)
あなたが与えた例は整数ではないので、なぜあなたはそれを長くしたいのか分かりません。
long.TryParse
とlong.Parse
も使用できます。
long l1;
l1 = long.Parse("1100.25");
//or
long.TryParse("1100.25", out l1);
小数点のため、直接longに変換することはできません。小数点に変換してから、次のようなlongに変換する必要があると思います。
String strValue[i] = "1100.25";
long l1 = Convert.ToInt64(Convert.ToDecimal(strValue));
お役に立てれば!
longは、64ビットの符号付き整数であるSystem.Int64として内部的に表されます。 "1100.25"をとった値は実際には10進数であり、整数ではないため、longに変換することはできません。
次を使用できます。
String strValue = "1100.25";
decimal lValue = Convert.ToDecimal(strValue);
10進値に変換する
Int64.TryParse
メソッドを使用して行うこともできます。文字列値であるがエラーを生成しなかった場合、「0」を返します。
Int64 l1;
Int64.TryParse(strValue, out l1);
long l1 = Convert.ToInt64(strValue);
それはそれを行う必要があります。
long=convert.toDouble("strvalue")