Re: Converting INT to STRING out of space... [message #43157] |
Mon, 21 March 2005 09:21 |
R.G. Stockwell
Messages: 363 Registered: July 1999
|
Senior Member |
|
|
"Nuno Oliveira" <nmoliveira@fc.ul.pt> wrote in message
news:d1mqh8$111t$1@pegasus.fccn.pt...
> If I want to save a file within a cicle and I want the name of the file to
> have the number related to the cicle, I have a problem that maybe someone
> in here have faced.
>
> Apparently there is no way that I can eliminate a space in a string made
> of an integer variable. Try:
>
> number = 3
> aux = STRCOMPRESS(STRING(number))
> file = 'saving'+aux+'.dat'
>
> And, this way the variable file will be 'saving 3.dat' with a SPACE inside
> the string. Any tips of how I can avoid this space?
>
> Greetings,
>
> Nuno
>
The answers posted solve your problem for you.
I would just add one tidbit, you can format the numbers
to have leading 0's, so that they line up nicely when
you get a file listing in alphabetical order.
Use format of I3.3 for instance:
string(number,format='("saving",I3.3,".dat")')
Cheers,
bob
|
|
|
Re: Converting INT to STRING out of space... [message #43163 is a reply to message #43157] |
Mon, 21 March 2005 07:56  |
Craig Markwardt
Messages: 1869 Registered: November 1996
|
Senior Member |
|
|
Nuno Oliveira <nmoliveira@fc.ul.pt> writes:
> If I want to save a file within a cicle and I want the name of
> the file to have the number related to the cicle, I have a problem
> that maybe someone in here have faced.
>
> Apparently there is no way that I can eliminate a space in a
> string made of an integer variable. Try:
>
> number = 3
> aux = STRCOMPRESS(STRING(number))
> file = 'saving'+aux+'.dat'
>
> And, this way the variable file will be 'saving 3.dat' with a SPACE
> inside the string. Any tips of how I can avoid this space?
Yes, how about,
aux = strtrim(number,2)
or, to solve your whole problem at once,
file = string(number,format='("saving",I0,".dat")')
I use both.
Craig
--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@REMOVEcow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
|
|
|
Re: Converting INT to STRING out of space... [message #43164 is a reply to message #43163] |
Mon, 21 March 2005 08:03  |
Ben Panter
Messages: 102 Registered: July 2003
|
Senior Member |
|
|
Ben Panter wrote:
> Nuno Oliveira wrote:
>
>> Apparently there is no way that I can eliminate a space in a
>> string made of an integer variable. Try:
>>
>> number = 3
>> aux = STRCOMPRESS(STRING(number))
>> file = 'saving'+aux+'.dat'
> without /remove_all, strcompress compresses all whitespace to a single
> whitespace, it doesn't get rid of it.
hmmm.
Alternativly if I were to engage my brain before posting, you could just
put a /remove_all in your strcompress call, which would do the business.
Ben
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Ben Panter, Garching, Germany
email via www.benpanter.co.uk
|
|
|
Re: Converting INT to STRING out of space... [message #43165 is a reply to message #43163] |
Mon, 21 March 2005 08:00  |
tam
Messages: 48 Registered: February 2000
|
Member |
|
|
Nuno Oliveira wrote:
> If I want to save a file within a cicle and I want the name of the
> file to have the number related to the cicle, I have a problem that
> maybe someone in here have faced.
>
> Apparently there is no way that I can eliminate a space in a string
> made of an integer variable. Try:
>
> number = 3
> aux = STRCOMPRESS(STRING(number))
> file = 'saving'+aux+'.dat'
>
> And, this way the variable file will be 'saving 3.dat' with a SPACE
> inside the string. Any tips of how I can avoid this space?
>
> Greetings,
>
> Nuno
>
Try the /remove_all option in strcompress. Should do the trick.
Regards,
Tom McGlynn
|
|
|
Re: Converting INT to STRING out of space... [message #43166 is a reply to message #43163] |
Mon, 21 March 2005 08:00  |
Ben Panter
Messages: 102 Registered: July 2003
|
Senior Member |
|
|
Nuno Oliveira wrote:
> Apparently there is no way that I can eliminate a space in a string
> made of an integer variable. Try:
>
> number = 3
> aux = STRCOMPRESS(STRING(number))
> file = 'saving'+aux+'.dat'
>
> And, this way the variable file will be 'saving 3.dat' with a SPACE
> inside the string. Any tips of how I can avoid this space?
I have a solution, but it isn't general. If you use:
number = 3
aux = strtrim(string(number),2)
file = 'saving' + aux + '.dat'
It should solve your problem - by removing the space before it appears
in the filename!
The more general solution requires you to call the strcompress a bit
later, and with the /remove_all keyword.
number = 3
aux = string(number)
file = strcompress('saving' + aux + '.dat', /remove_all)
without /remove_all, strcompress compresses all whitespace to a single
whitespace, it doesn't get rid of it.
HTH,
Ben
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Ben Panter, Garching, Germany
email via www.benpanter.co.uk
|
|
|