У меня есть код, который ранее работал, когда я запускал IDL на моем Linux-компьютере.Я не уверен, почему формат изменился, когда я запускаю IDL на моем компьютере с Windows.
В частности, похоже, что проблема в том, что оператор print не создает пробел между значениями.
OPENW, prof2d, outfilename+'.prf', /GET_LUN
printf, prof2d, numalts, altstart, delalt, numlats, latstart,dellat
printf, prof2d, format='(1(f3.1),500(i))', 0.0, findgen(num)+1.0
for i=0, numlats-1 do begin
printf, prof2d, FORMAT='(1(i),500(e15.8))',i+1, p2d(i,*)
endfor
CLOSE, prof2d & FREE_LUN, prof2d
popd
Кажется, это строка, в которой есть проблема: printf, prof2d, FORMAT = '(1 (i), 500 (e15.8))', i + 1, p2d (i,*)
Окно Linux выдает:
1 0.00000000e+00 0.00000000e+00 0.00000000e+00....9.17620019e+09
, в то время как окно Windows выдает:
1 0,00000000e + 000,00000000e + 000,00000000e + 00 .... 9.17620019e + 09
Любая помощь будет принята с благодарностью.
С уважением,
Alex