| Deutsch English Français Italiano |
|
<7e21117d37c506cccd8e79323c416fd1@www.novabbs.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.misty.com!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: mhx@iae.nl (mhx) Newsgroups: comp.lang.forth Subject: Re: Parsing =?UTF-8?B?dGltZXN0YW1wcz8=?= Date: Sun, 6 Oct 2024 08:59:23 +0000 Organization: novaBBS Message-ID: <7e21117d37c506cccd8e79323c416fd1@www.novabbs.com> References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="797120"; mail-complaints-to="usenet@i2pn2.org"; posting-account="J+nubxJRM7ncpF4l6KLO+OONWmFAYJHVJegfwQXJ8vc"; User-Agent: Rocksolid Light X-Rslight-Posting-User: 4e0dc1fdad1ead10b39e7eb5db19bf73d73e3ab3 X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Site: $2y$10$Z7FywX0W5hyJa8qexzNxs.MQAPIzBIuka8VgYdSJzDs3GZoo2jt6C Bytes: 1720 Lines: 27 On Sun, 6 Oct 2024 7:51:31 +0000, dxf wrote: > Is there an easier way of doing this? End goal is a double number > representing centi-secs. > > > empty decimal > > : SPLIT ( a u c -- a2 u2 a3 u3 ) >r 2dup r> scan 2swap 2 pick - ; > : >INT ( adr len -- u ) 0 0 2swap >number 2drop drop ; > > : /T ( a u -- $hour $min $sec ) > 2 0 do [char] : split 2swap dup if 1 /string then loop > 2 0 do dup 0= if 2rot 2rot then loop ; > > : .T 2swap 2rot cr >int . ." hr " >int . ." min " >int . ." sec " ; > > s" 1:2:3" /t .t > s" 02:03" /t .t > s" 03" /t .t > s" 23:59:59" /t .t > s" 0:00:03" /t .t Why don't you use the fact that >NUMBER returns the given string starting with the first unconverted character? SPLIT should be redundant. -marcel