
For handling the rescaling needed for fractional digits, a table of powers of ten up to sixteen was defined, but now the base may not be ten so BASE**DD is computed on the fly.

As the INDEX function works with CHARACTER variables that are indexed from one, to get zero for the first character in DIGIT, one must be subtracted. Here however a possible base may extend beyond just the decimal digits, so it is no longer possible to rely on zero to nine only and their associated character codes, thus the "digit" is now identified by indexing into an array of digits, thereby enabling "A" to follow "9" without character code testing.

The routine worked in base ten only, but it is a trivial matter to replace *10 by *BASE. If a problem arose then an error message could denounce the offending text ACARD(L1:L2) as well as just say "Invalid input" or similar. The text was to be found in an external variable ACARD(1:LC) with external fingers L1 and L2 L1 marked the start point and L2 advanced through the number. This is a cut-back version of a free-format routine EATREAL that worked in a more general context. |> Enum.reduce(String.to_integer(df, 2), fn _,acc -> acc / 2 end)ĭata = ~w

= case im(dec) |> String.split(".") doĭec = sign (String.to_integer(int, 2) |> Integer.to_string)ĭec if df & String.to_integer(df,2)>0 do Result : = Result or (bit shl (Alength - i ) ) įunction FloatToBin (value : Extended ) : string įunction BinToFloat (value : string ) : Extended bin2dec ) įunction IntToBin (value : Int64 ) : string įunction BinToInt (value : string ) : Int64

Currently Phobos lacks a strip(string, string) function.
