× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



"RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> wrote on 03/06/2020
11:02:13 AM:
On Mon, Mar 2, 2020 at 4:09 PM <dlclark@xxxxxxxxxxxxxxxx> wrote:

I came up with the following -- and it works -- but it seems
there
should be an easier way.


t_string = %char(%dec(packed_data / d_shift));
t_len = %scan('.':t_string);
if t_len > *zero;
if use_scale > *zero;
t_string = %subst(t_string:1:t_len+use_scale);
else;
t_string = %subst(t_string:1:t_len-1);
endif;
endif;
return t_string;

Honestly, your little routine doesn't strike me as particularly
complicated or hard. It's more-or-less how I would have done it.


It wasn't that I didn't like it because it was complicated or hard
(which it isn't). But, someone coming along after me might have some
objections to it. Using the procedure in my previous post I was able to
replace the above with the following single line. I like this much
better. Sure, I could have put the guts of the above code into a
procedure, too. But I like the SELECT / %DECH solution.

return Dec2CharFormat(packed_data/d_shift:use_scale);


Sincerely,

Dave Clark

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.