number_chars/2
Module: builtins
number_chars/2
— convert between a number and the list of characters which represent the number
number_codes/2
— convert between a number and the list of character codes which represent the number
FORMS
number_chars(Number, CharList)
number_codes(Number, CodeList)
DESCRIPTION
In a call to number_chars/2
, if CharList
is bound to a list of characters then it is parsed according to the syntax rules for numbers; should the parse be successful, the resulting value is unified with Number
.
If Number
is bound to a number in number_chars/2
, after first ascertaining that CharList
is bound to a ground list, then CharList
will be unified with a list of characters that would result as output from write_canonical(Number)
.
In a call to number_codes/2
, if CodeList
is bound to a list of character codes, then it is is parsed according to the syntax rules for numbers; should the parse be successful, the resulting value is unified with Number
.
If Number
is bound to a number in number_codes/2
, after first ascertaining that CodeList
is bound to a ground list, then CodeList
will be unified with a list of character codes that would result as output from write_canonical(Number)
.
EXAMPLES
?- number_chars(-2.3,L).
L=[-,'2',.,'3']
yes.
?- number_codes(N, "123" ).
N=123
yes.
?- number_codes(N, "123.4" ).
N=123.4
yes.
?- number_chars(123.4,['1',A,B,.,C]).
A='2'
B='3'
C='4'
yes.
?- number_codes(N,"0xffe" ).
N=4094
yes.
?- number_codes(N,"foobar").
Error: Syntax error.
- Goal: builtins:number_codes(_A,"foobar")
- Throw pattern: error(syntax_error,[builtins:number_codes(_A,*)])
ERRORS
Number and CharList are variables(number_chars/3)
– – – – > instantiation_error.
Number and CodeList are variables(number_codes/3)
– – – – > instantiation_error.
Number is neither a number nor a variable
– – – – > type_error(number, Number)
CharList is neither a variable nor a list of characters
– – – – > domain_error(character_list, List)
CodeList is neither a variable nor a list of character codes
– – – – > domain_error(character_code_list, List)
CharList(or CodeList) is not parsable as a number
– – – – > syntax_error