My apologies for my poor articulation.
Suppose I have a variable say jdate
jdate
17890
17891
17892
etc.
so I can say format %td jdate
And the dates look like " Sep 16 1990 " ,etc in a human readable form.
but they only LOOK human readable they have only been displayed like
that, the variable jdate contains the values 17890, etc.
Now if i write jdate to an HTML file whose code is actually a text
file , I would do
file write ( ....... jdate[`i']........... )
where i helps me loop over observations and create a table in HTML.
if jdate is as it is NO MATTER how I have formatted it , my html table
won't have human readable dates, it will have 17890 / 17891 / etc
but if I do -tostring- then the variable not only DISPLAYS as human
readable in stata , it IS actually containng human readable values
and when I write to HTML it will be human readable.
I hope I was more articulate this time.
Thank you,
Ashim
On Wed, Jan 7, 2009 at 9:44 PM, Nick Cox <[email protected]> wrote:
> -tostring- is objecting because -real("28feb2008")- does not yield
> 17590.
>
> That objection is irrelevant for your purposes, so you should just add
> the -force- option.
>
> Do please notice that I didn't recommend using -tostring-; I recommended
> using -string()- directly.
>
> I don't follow your argument about HTML but I will not comment further
> on that. It is really is impossible to discuss what you are doing when
> the description of your code is merely "it".
>
> Nick
> [email protected]
>
> Ashim Kapoor
>
> hi Nick,
>
> Thank you for your email.
>
> I need it to be a string because I want it to be output to HTML. If
> the orginal variables is 17590 and display something like " Sep 6
> 1990" it is useless as when i try writing that variable to an HTML
> code it will write 17590 and not Sep 6 1990 which is what I want.
>
> gen k=17590
> . format %td k
>
> . l
>
> +-----------+
> | k |
> |-----------|
> 1. | 28feb2008 |
> 2. | 28feb2008 |
> 3. | 28feb2008 |
> 4. | 28feb2008 |
> 5. | 28feb2008 |
> +-----------+
>
> . tostring(k) ,format(%td) gen(j)
> k cannot be converted reversibly; no generate
>
> This fails. Am I doing something wrong?
>
> Thank you,
> Ashim.
> On Wed, Jan 7, 2009 at 9:17 PM, Nick Cox <[email protected]> wrote:
>> Using -tostring- would be convenient for several variables, and it
>> certainly supports a -format()- option. (I am not clear why Jeph
> appears
>> uncertain on that.)
>>
>> But a lower-level route appears closer to what Ashim wants. That uses
>> the two-argument flavour of -string(,)-.
>>
>> To detect what format a variable has you go
>>
>> local fmt: format mynumvar
>> gen svar = string(mynumvar, "`fmt'")
>>
>> Thus no magic is needed, just willingness to read the documentation.
>>
>> I don't understand why a string variable is needed here. Once a date
> has
>> been displayed in SMCL whether it came from a numeric variable or a
>> string variable is immaterial, but that is a separate issue.
>>
>> Nick
>> [email protected]
>>
>> Jeph Herrin
>>
>> I think -tostring- will work with the -format()- option.
>> Or, if you want to call mata you can use -sprintf()-.
>>
>>
>> Ashim Kapoor wrote:
>>
>>> This is great. Will do part of what I what . I still need the magic
>>> command to do magic on dates.
>>
>>> On Wed, Jan 7, 2009 at 5:21 PM, Neil Shephard <[email protected]>
>> wrote:
>>>> Not sure about dates, but for your second example you can do the
>> following....
>>>>
>>>> gen str magicj = string(round(j, .01))
>>>>
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/