gives a list of the decimal digits of x multiplied by their corresponding powers of 10.
expands x in base b.
gives a list of length len.
- For any number x, Total[NumberExpand[x,…]]==x.
- For an integer x, NumberExpand[x] returns a list of integers.
- For a rational x, the fractional part of x is added to the last element of NumberExpand[IntegerPart[x]].
- For a non-exact number x, all elements of NumberExpand[x] but the last are exact.
- For an exact number x, the length of NumberExpand[x] equals the number of digits in the integer part of x.
- For a non-exact number x, NumberExpand[x] normally returns a list of length Round[Precision[x]].
- For a non-exact number x and an exact base b, NumberExpand[x,b] normally returns a list of length Round[Precision[x] Log[b,10]].
- If len is larger than Precision[x] Log[b,10], the remaining parts of the expansion are filled in as Indeterminate.
- The base b in NumberExpand[x,b] can be a real number greater than 1.
- For any number x of absolute value less than 1, the first element of NumberExpand[x,…] is 0 or 0..
- NumberExpand[0.] returns a list of length Floor[Accuracy[0.]]+2.
Examplesopen allclose all
Basic Examples (3)
Expand an integer into a list of multiples of powers of 10:
Expand a rational number in base 2, obtaining a rational remaining part:
Expand a machine-precision real number, obtaining a machine-precision remaining part:
Expand an exact complex number in base 7:
Generalizations & Extensions (5)
Properties & Relations (9)
For an integer, when the length of the output is required to be larger than needed, NumberExpand pads with 0s on the right:
For a rational number with a finite-length decimal part, when the length of the output is required to be larger than needed, NumberExpand pads with 0s on the right:
For a rational number with an infinite-length decimal part, the last element of the output list is always nonzero:
For any number n, Total[NumberExpand[n,…]] equals n:
The total of the expansion of an exact number in an integer base is the number itself:
If the base is non-exact, the total will have a different precision:
For an exact number expanded into inexact parts, the difference with the total is smaller than the last part of the expansion:
Then Rationalize may be able to recover the original exact number:
When a non-exact number is expanded in an exact base, all the elements of the output list but the last are exact:
The last element is not necessarily zero:
For non-exact numbers, NumberExpand returns a list of parts corresponding to the digits of RealDigits:
Small variations of the input may result in representations containing multiple 9s:
The precision of Total[NumberExpand[…]] is effectively determined by the minimum precision of the input arguments:
NumberExpand automatically threads over lists:
Possible Issues (1)
Parts of the expansion unknown at the available precision are filled in as Indeterminate:
In this situation, the original number cannot be reconstructed:
Wolfram Research (2016), NumberExpand, Wolfram Language function, https://reference.wolfram.com/language/ref/NumberExpand.html.
Wolfram Language. 2016. "NumberExpand." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NumberExpand.html.
Wolfram Language. (2016). NumberExpand. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NumberExpand.html