help needed in the format of the output variable [message #94033] |
Thu, 29 December 2016 02:26  |
gunvicsin11
Messages: 93 Registered: November 2012
|
Member |
|
|
Hi all,
I have given below the table
2457331.055891204
2457331.056041667
2457331.056192130
2457331.056342593
2457331.056481482
2457331.056631945
I am reading the file like this,
IDL> r=dblarr(6)
IDL> openr,2,'jultest.dat'
IDL> readf,2,r,format='(g)'
IDL> close,2
IDL> print,r(1)
2457331.1
IDL> print,r(1),format='(g)'
2457331.056041667
I need to give this r(1) into,
caldat,r(1),m,d,y,h,mi,s
here the r(1) is 2457331.1
how do i give the 2457331.056041667 as input into the caldat.
please let me know how to resolve this.
thanks in advance
|
|
|
Re: help needed in the format of the output variable [message #94034 is a reply to message #94033] |
Thu, 29 December 2016 14:01   |
Lajos Foldy
Messages: 176 Registered: December 2011
|
Senior Member |
|
|
On Thursday, December 29, 2016 at 11:26:37 AM UTC+1, sid wrote:
> Hi all,
> I have given below the table
> 2457331.055891204
> 2457331.056041667
> 2457331.056192130
> 2457331.056342593
> 2457331.056481482
> 2457331.056631945
>
> I am reading the file like this,
> IDL> r=dblarr(6)
> IDL> openr,2,'jultest.dat'
> IDL> readf,2,r,format='(g)'
> IDL> close,2
> IDL> print,r(1)
> 2457331.1
> IDL> print,r(1),format='(g)'
> 2457331.056041667
>
> I need to give this r(1) into,
>
> caldat,r(1),m,d,y,h,mi,s
>
> here the r(1) is 2457331.1
>
> how do i give the 2457331.056041667 as input into the caldat.
>
> please let me know how to resolve this.
>
> thanks in advance
You have a single r(1) with about 16 decimal digits precision. The two PRINT's just print this value in different formats. CALDAT gets the full precision number. Call CALDAT first with r[0], then with r[1] and compare the results.
regards,
Lajos
|
|
|
Re: help needed in the format of the output variable [message #94039 is a reply to message #94034] |
Thu, 29 December 2016 20:24  |
gunvicsin11
Messages: 93 Registered: November 2012
|
Member |
|
|
On Friday, December 30, 2016 at 3:31:39 AM UTC+5:30, fawltyl...@gmail.com wrote:
> On Thursday, December 29, 2016 at 11:26:37 AM UTC+1, sid wrote:
>> Hi all,
>> I have given below the table
>> 2457331.055891204
>> 2457331.056041667
>> 2457331.056192130
>> 2457331.056342593
>> 2457331.056481482
>> 2457331.056631945
>>
>> I am reading the file like this,
>> IDL> r=dblarr(6)
>> IDL> openr,2,'jultest.dat'
>> IDL> readf,2,r,format='(g)'
>> IDL> close,2
>> IDL> print,r(1)
>> 2457331.1
>> IDL> print,r(1),format='(g)'
>> 2457331.056041667
>>
>> I need to give this r(1) into,
>>
>> caldat,r(1),m,d,y,h,mi,s
>>
>> here the r(1) is 2457331.1
>>
>> how do i give the 2457331.056041667 as input into the caldat.
>>
>> please let me know how to resolve this.
>>
>> thanks in advance
>
> You have a single r(1) with about 16 decimal digits precision. The two PRINT's just print this value in different formats. CALDAT gets the full precision number. Call CALDAT first with r[0], then with r[1] and compare the results.
>
> regards,
> Lajos
Thanks a lot. I got it now.
|
|
|