NumberExpand[x]
gives a list of the decimal digits of x multiplied by their corresponding powers of 10.
NumberExpand[x,b]
expands x in base b.
NumberExpand[x,b,len]
gives a list of length len.
NumberExpand
NumberExpand[x]
gives a list of the decimal digits of x multiplied by their corresponding powers of 10.
NumberExpand[x,b]
expands x in base b.
NumberExpand[x,b,len]
gives a list of length len.
Details
- 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.
Examples
open all close allBasic Examples (3)
Expand a number into a list of multiples of powers of 10:
NumberExpand[157]Total[%]NumberExpand[157, 2]Total[%]Specify the length of the output:
NumberExpand[157, 2, 3]Total[%]Scope (5)
Expand an integer into a list of multiples of powers of 10:
NumberExpand[1437]Total[%]Expand a rational number in base 2, obtaining a rational remaining part:
NumberExpand[1111 / 7, 2]Total[%]Expand a machine-precision real number, obtaining a machine-precision remaining part:
NumberExpand[1234.56]Total[%]Expand an exact complex number in base 7:
NumberExpand[123 + 9I, 7]Total[%]Expand an inexact complex number in base 10:
NumberExpand[1.2 + 0.4I, 10]Total[%]Generalizations & Extensions (5)
NumberExpand[-14379]Total[%]Expand a real number in a rational base:
NumberExpand[1.23, 7 / 2, 10]Total[%]Expand a number using a machine-precision base:
NumberExpand[9, 6.5]Total[%]Expand a rational number in a real base:
NumberExpand[1111 / 7, 7.5, 8]Total[%]
% === N[1111 / 7]Expand a real number in a real base:
NumberExpand[1.23, 3.5, 10]Total[%]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:
NumberExpand[1437, 10, 8]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:
NumberExpand[1111 / 2, 10, 9]For a rational number with an infinite-length decimal part, the last element of the output list is always nonzero:
n = 10993 / 7000;
NumberExpand[n, 10, 4]NumberExpand[n, 10, 5]For any number n, Total[NumberExpand[n,…]] equals n:
n = 63;
Total[NumberExpand[n]] == nn = 27.`19;
Total[NumberExpand[n, 8, 5]] == nThe total of the expansion of an exact number in an integer base is the number itself:
NumberExpand[1532]Total[%]If the base is non-exact, the total will have a different precision:
NumberExpand[1532, 10.]Total[%]For an exact number expanded into inexact parts, the difference with the total is smaller than the last part of the expansion:
n = 22 / 3;
expansion = NumberExpand[n, 7.5, 8]total = Total[expansion]n - total < Last[expansion]Then Rationalize may be able to recover the original exact number:
Rationalize[total, Last[expansion]]When a non-exact number is expanded in an exact base, all the elements of the output list but the last are exact:
NumberExpand[9.738, 10]The last element is not necessarily zero:
NumberExpand[9.739, 10]For non-exact numbers, NumberExpand returns a list of parts corresponding to the digits of RealDigits:
NumberExpand[79.7377]First[RealDigits[79.7377]]Small variations of the input may result in representations containing multiple 9s:
NumberExpand[79.7378]First[RealDigits[79.7378]]The precision of Total[NumberExpand[…]] is effectively determined by the minimum precision of the input arguments:
n = 12.345;base = 10;
expansion = NumberExpand[n, base, 5]{Precision[n], Precision[base], Precision[Total[expansion]]}n = N[Pi, 40];base = 10`20;
expansion = NumberExpand[n, base, 5]{Precision[n], Precision[base], Precision[Total[expansion]]}NumberExpand automatically threads over lists:
NumberExpand[{23, 5 / 2}, {5, 2.5}, {3, 8}]Possible Issues (1)
Parts of the expansion unknown at the available precision are filled in as Indeterminate:
n = 1.234;
NumberExpand[n, 10]NumberExpand[n, 10, 18]In this situation, the original number cannot be reconstructed:
Total[%]See Also
Related Guides
History
Text
Wolfram Research (2016), NumberExpand, Wolfram Language function, https://reference.wolfram.com/language/ref/NumberExpand.html.
CMS
Wolfram Language. 2016. "NumberExpand." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NumberExpand.html.
APA
Wolfram Language. (2016). NumberExpand. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NumberExpand.html
BibTeX
@misc{reference.wolfram_2026_numberexpand, author="Wolfram Research", title="{NumberExpand}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/NumberExpand.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_numberexpand, organization={Wolfram Research}, title={NumberExpand}, year={2016}, url={https://reference.wolfram.com/language/ref/NumberExpand.html}, note=[Accessed: 13-June-2026]}