いくつかの援助を探しています。私は本当に簡単だと確信していますが、私はちょうどそれの周りに私の頭を得るように見えることはできません。C#String配列をDoubleにする
まず、ここに私のコードは、これまでのところです:
//Prompts user to enter numbers
Console.Write("Enter a line of comma-seperated temperatures: ");
string temps = Console.ReadLine();
//Splits commas, seperating numbers into array
string[] numsInString = temps.Split(',');
int temps1 = numsInString.Length;
int[] temps2 = new int[temps1];
for (int i = 0; i < numsInString.Length; i++)
{
temps2[i] = int.Parse(numsInString[i]);
}
Console.WriteLine("Minimum temp: " + temps2.Min());
Console.WriteLine("Average temp: " + temps2.Average());
だから、それは、カンマで区切られた温度すなわち「5」の入力を促す「5,6,7,8」。私の問題は、私が "5.4,5.7,6.3,6.8"のような小数点以下の桁の温度を持つことができないことです。私は文字列を二重に変換する必要があることを理解しましたが、それを行う方法は完全にはわかりません。あなたはdouble[]
に使用するアレイのタイプを変更して、代わりにint
のdouble
を解析するために、あなたのパースを変更したい
おかげ
LINQのアプローチ同じ
for
ループを実行しますが、小さな小さな(あなたのケースでは)より効果的かつ十分な宣言型となりますint'を 'double'で置き換えて' double [] 'を呼び出し、' double.Parse'を呼び出します。あなたがそれをしたら、おそらくうまくいくでしょう。 –@CharlesMagerエラーが発生しましたが、エラーが発生しました。 "エラー1 \t明示的な変換が存在しますか?"またはいくつかのコードを並べ替えることができます。あまりにも確かではありません。これらのエラーは、[] – royalrekesh
の間のすべてを指しています。ちょっと近づけば、 'int temps1'と' int i'を 'Length'が' int'に置き換えないようにしたいと思います。 'temps2'配列の型を変更し、' int.Parse'を 'double.Parse'に変更したいだけです。 –