Я хотел бы записать результаты некоторых вычислений в файл .txt. В результате получается двумерная матрица с двойными значениями.
Код выглядит следующим образом:
using (StreamWriter sw = new StreamWriter("output.txt"))
{
for (int i = 0; i < _mSize; i++)
{
for (int j = 0; j < _mSize; j++)
{
if (j == _mSize - 1)
{
sw.Write(matrix[i, j]);
}
else
{
sw.Write(matrix[i, j]);
sw.Write("\t");
}
}
sw.WriteLine();
}
}
И результат выглядит примерно так:
327353903757.616 33382579966.7657 -610295157931.538 316776523846.942 -173380022454.098 -461388805054.032 948277853349.852 118631006423.33 1568003828214.55 78534025626.3924 -263930036638.779 2223313944345.22 2940630569399.24 -165176724235.686 -1352807411840.3 764581906426.861
-259460605977.188 -447539597600.042 -3124759241119.99 -929203130376.986 -213516572421.899 391144184871.326 -2446238269585.87 379302868025.163 -1818091336805.81 -288798092833.074 -655659481681.372 -1498448339823.33 -1435464972188.97 -830549902638.884 -650649175335.582 -725206421515.479
-319840831518.706 -2516403650910.82 769645693652.79 -199535720261.936 -80400519331.1042 -723951708300.265 -381881978451.348 1026350945259.93 1548834396570.89 -1140747454821.2 1240846167929.94 -3188410647274.27 -642422277752.2 -3047608729143.56 -1366309764907.03 2819295607663.8
-1688698366831.53 1149401783280.44 -150430139898.4 -3007760062859.83 -791094347666.74 -1414465264594 -1286609932900.23 2536430945923.73 455960551771.616 -458406021880.105 1539086808585.16 1205203957111.46 -2600066711372.09 1437831009014.27 -594083327545.533 -1724581093220.9
749669141552.716 1172577925263.27 -989681794.110176 222107180167.189 1021086352918.43 490933382444.578 50139525601.5294 -518174849515.426 -1928777476308.78 -378236529297.613 244262826193.582 -2806299444467.07 -702343912175.042 -1636441561006.27 -266366723489.345 567886631297.715
-841834807419.529 3130344245101.81 -1685783162676.58 -2026705541873.09 160493399370.874 790805917278.736 443613243164.116 1852175982617.73 323146557417.622 -1238009736847.56 -2489625790927.85 661673131305.817 2411574370206.78 -373814010403.364 -1750712126900.4 -1576941266948.82
-607217673304.633 -638952877935.242 1078519895918.1 -2270477482587.59 -410340883737.832 -2264119790646.08 -1841565027377.3 2261179654647.82 1607641927322.8 -707293786677.447 928874387997.301 619164396624.24 -530711437053.312 511741943427.622 -2219955265457.8 -1310773818634.51
-104035796369.396 -902035785673.758 938581960216.357 -732891978620.923 -981543758974.761 -1506686042906.28 -654414700474.678 -465532120950.666 298788105176.015 280087017601.342 104008537594.614 913599401360.446 -498467029483.977 942561417794.816 367288436501.473 668105956987.307
-962022321201.368 -1912932113342.16 -957696066982.236 -343467426849.393 -1680649162722.66 1316416625542.72 576496110988.551 3112025793616.5 106363772914.636 2250800842252.43 345070055181.7 3664346590799.52 6752505870.64972 -403672609382.172 24268894695.8925 1689489691815.04
-2388816379956.99 -602886964963.677 1427602296490.52 -1729821478839.85 -51964454170.5175 1822423119234.95 717752197973.323 632319337615.292 -199243574406.633 -395550337924.227 599304610383.895 1470713557256.48 11399735609.0839 -1147596725739.24 401389365152.378 8157282186.29416
-1693103978173.14 989386774530.362 2907659526178.1 -2811261314627.55 356823558456.582 -319591758977.013 198575690036.046 643416025877.97 1616317237380.79 -1776134180488.81 999334341767.032 344892232102.338 1594152762899.56 -471951970730.009 -668802712025.263 -565192968092.561
-2357617663480.44 76744456363.1057 -280785379443.852 -2352272570458.66 412027938512.557 2067967649740.11 2511976310406.57 -831060300172.529 679942436393.378 -2365434402883.36 1272225694123.13 -540207314433.77 -2981826887583.67 -3134116246324.36 -1629313618872.79 999410826606.432
1613023256325.99 -453400909022.602 -641082966511.884 1725325256608.97 -324880607458.072 232844902610.88 141834299626.338 -1041061425177.12 -3361227005318.7 2014915773138.51 146262201406.081 1112699293932.61 -690202578860.517 827780767635.571 1483095642664.43 -1022012297787.71
-408018898391.413 -96116103628.22 416992021501.301 -531262958849.303 -2081851790385.43 676796478182.526 408919251217.419 -443136690892.802 841780411776.858 -2006650935466.08 -1853742199859.48 288950787382.04 748514299937.886 -1346708263354.65 -952800904444.521 956425916274.8
-569386776674.994 -233138503567.782 -31274411566.2453 -2579549684040.72 -1356843727226.01 315981072859.08 -98564222269.8076 802665821940.511 904138401312.517 830375508170.967 1187208558832.51 1504115884837.66 -1426884567601.84 250461061553.322 -408129831771.16 951031686769.47
-536800997150.714 978438977109.671 -2625347108780.62 -3616681751001.43 -767515594856.592 -1455535521335.03 -2177988010683.52 2845714092759.81 497319654548.942 -1751796295719.84 -1156151878504.91 -764322194503.285 -1495585847049.16 -32677269094.5144 -3144368304930.61 -3004804290301.16
Как вы можно увидеть иногда пробелы вместо вкладок. Мне интересно, почему это происходит и как я могу сделать это правильно?
Я пробовал разные версии, поэтому
sw.Write(" \t "); // with added spaces before and after
работает немного лучше, но все еще есть ошибки и уродливый способ сделать и
sw.Write(matrix[i, j] + "\t");
имеет тот же эффект, что и первое решение.
Буду признателен за любые предложения по решению этой проблемы.
Обновление: с тех пор проблема, кажется, не ясна: позиция не всегда одинакова из-за длины строки, это правильно, но здесь нет вкладки после второго значения:
948277853349.852 118631006423.33 1568003828214.55