この質問は何度も聞かれますが、動作させることができません...
私は2点間の距離を計算し、ユニットがその周りを歩く時間を計算するプログラムに取り組んでいます...
これは私がする必要があることの単純化されたバージョンです:
x = 24
y = 23
Root of (24² + 23²) = 33.24 fields
33.24 x 30 = 997,2 minuts
997,2/60 = 16,62 hours
16: (60*0.62) = 16:37,2
16:37: (60*0,2) = 16:37:12
だから私はC#でこのコードを持っていますが、それは機能していません:
first_town = "35|629";
second_town = "59|606";
snelheidUnit = 30;
string[] firstTownSplit = first_town.Split('|');
string[] secondTownSplit = second_town.Split('|');
int firstTownPart1 = Convert.ToInt32(firstTownSplit[0]);
int firstTownPart2 = Convert.ToInt32(firstTownSplit[1]);
int secondTownPart1 = Convert.ToInt32(secondTownSplit[0]);
int secondTownPart2 = Convert.ToInt32(secondTownSplit[1]);
int verschilX = firstTownPart1 - secondTownPart1;
int verschilY = firstTownPart2 - secondTownPart2;
double aantalVelden = Math.Sqrt((Math.Pow(verschilX, 2) + Math.Pow(verschilY,2))); // Fields
double aantalMinuten = aantalVelden * snelheidUnit; // Minuts
double aantalUren = aantalMinuten / 60; // Hours
TimeSpan time = TimeSpan.FromHours(aantalUren);
string FinalTime = string.Format("{0:D2}d:{1:D2}h:{2:D2}m:{3:D2}s:{4:D3}ms", time.Days, time.Hours, time.Minutes, time.Seconds, time.Milliseconds);
期待される出力は次のようになります:00d:16h:37m:12s:772ms
しかし、それは:00d:16h:37m:14s:772ms
差は2秒です。ボトルネックは何ですか?期待される出力と実際の出力の間に2秒の差があるのはなぜですか?