どのようにするかを学びたいのは、C#でint配列をintに変換することです。int配列をintに変換するには?
しかし、配列の値をintに追加したいとします。
例:
int[] array = {5, 6, 2, 4};
は、事前に任意のヘルプ5624.
おかげに等しいint型に変換されます。
どのようにするかを学びたいのは、C#でint配列をintに変換することです。int配列をintに変換するには?
しかし、配列の値をintに追加したいとします。
例:
int[] array = {5, 6, 2, 4};
は、事前に任意のヘルプ5624.
おかげに等しいint型に変換されます。
は、各数字を配列内の10進数で単純に乗算します。
int[] array = { 5, 6, 2, 4 };
int finalScore = 0;
for (int i = 0; i < array.Length; i++)
{
finalScore += array[i] * Convert.ToInt32(Math.Pow(10, array.Length-i-1));
}
少し速くするためにConvert.ToInt32(Math.Pow(10、array。(int k = 0; k
次のことを試してみてください。
int[] intArray = new int[] { 5, 4, 6, 1, 6, 8 };
int total = 0;
for (int i = 0; i < intArray.Length; i++)
{
int index = intArray.Length - i - 1;
total += ((int)Math.Pow(10, index)) * intArray[i];
}
これは '4265'を返します - これは望ましくない結果です。 –
申し訳ありませんが、あなたが正しいです、私の答えを編集しました。 –
あなたは小数点システムがどのように機能するかを理解している場合、これは、簡単だろう。
それでは、あなたのために説明しましょう:10進数には10進数の1桁が含まれています。
これは、あなたが(!後方)この配列を反復処理し、たとえば5624の場合は10^
で乗算する必要があるということを意味します(5 * 10^3)+(6 *^2 10)+(2 * 10^1)+(4 * 10^0)
も検討してください:http://en.wikipedia.org/wiki/Horner_schemeは
使用あなただけ連結するこのコードを使用すると、int型の配列は非常に次のコード
String a;
int output;
int[] array = {5, 6, 2, 4};
foreach(int test in array)
{
a+=test.toString();
}
output=int.parse(a);
//where output gives you desire out put
これを使用しますEではないxactコード。
-1良い解決策ではありません。文字列操作が遅いです。 –
@FelixK。 OPは彼が時間に敏感なコードを必要としていたとは言わず、これは最も読みやすいコード化された答えです。 – ediblecode
でも、Shadow Wizardの答えはより読みやすく、安全ですが、それは他のソリューションと比較してスピードの面で優れた解決策ではありません。 –
もう一つの簡単な方法:ここ
int[] array = {5, 6, 2, 4};
int num;
if (Int32.TryParse(string.Join("", array), out num))
{
//success - handle the number
}
else
{
//failed - too many digits in the array
}
トリックは、数字の文字列、配列を作る整数として、それを解析しています。
これはそれを行います。
public int DoConvert(int[] arr)
{
int result = 0;
for (int i=0;i<arr.Length;i++)
result += arr[i] * Math.Pow(10, (arr.Length-1)-i);
return result;
}
int result = 0;
int[] arr = { 1, 2, 3, 4};
int multipicator = 1;
for (int i = arr.Length - 1; i >= 0; i--)
{
result += arr[i] * multipicator;
multipicator *= 10;
}
そして、ちょうど楽しみのために...
arr.Select((item, index) => new { Item = item, Power = arr.Length - (index - 1) }).ToList().ForEach(item => total += (int)(Math.Pow(10, item.Power) * item.Item));
int output = array
.Select((t, i) => t * Convert.ToInt32(Math.Pow(10, array.Length - i - 1)))
.Sum();
+1これはクールです – Richard
var finalScore = int.Parse(array
.Select(x => x.ToString())
.Aggregate((prev, next) => prev + next));
あなたが( "sstream提供" を含む文字列ストリーム を使用することができます)
using namespace std; int main(){
int arr[3]={3,2,4}; //your array..
stringstream ss;
ss<<arr[0]; //this can be run as a loop
ss<<arr[1];
ss<<arr[2];
int x;
ss>>x;
cout<<x; //simply the int arr[3] will be converted to int x..
**#include
配列の数字が「int」に収まらない数字を構成するとどうなりますか? – Jon
0 ... 9の範囲内にない配列アイテムはどうですか? –