0.999…
在數學的完备实数系中，循环小数0.999…，也可写成formula_1、formula_2或formula_3，表示一个等於1的实数，即「0.999…」所表示的数与「1」相同。目前該等式已经有各式各样的證明式；它们各有不同的嚴謹性、背景假设，且都蕴含实数的实质条件，即阿基米德公理、历史文脉、以及目标受众。
这类展开式的非唯一性不仅限於十进制系统，相同的现象也出现在其它的整数进位制中，数学家们也列举出了一些1在非整数进位制中的写法，这种现象也不是仅仅限於1的：对於每一个非零的有限小数，都存在另一种含有无穷多个9的写法，由於简便的原因，我们几乎肯定使用有限小數的写法，这样就更加使人们误以为没有其它写法了，实际上，一旦我们允许使用无限小数，那么在所有的进位制中都有无穷多种替代的写法，例如，18.3287与18.3286999…、18.3287000…，以及许多其它的写法，都表示相同的数，这些各种各样的等式被用来更好地理解分數的小数展开式的规律，以及一个简单-{zh:分形; zh-hans:分形; zh-hant:碎形}-图形──康托尔集合的结构，它们也出现在一个对整个实数的无穷集合的-{zh:经典;zh-cn:经典;zh-tw:古典}-研究之中。
在过去數十年裡，許多数学教育的研究人员研究了大眾及学生们对该等式的接受程度，许多学生在學習开始時怀疑甚至拒絕该等式，而後許多学生被老師、教科书和如下章節的算術推論說服接受两者是相等的。儘管如此，許多人們仍常感到懷疑，而提出进一步的辯解，這經常是由於存在不少對數學实数錯誤的觀念等的背後因素（參見以下教育中遇到的懷疑一章節），例如認為每一个实数都有唯一的一个小数展开式，以及認為無限小（无穷小）不等於0，並且將0.999…视为一个不定值，即該值只是一直微微擴張變大，因此与1的差永遠是無限小而不是0，因此「永遠都差一點」。我们可以构造出符合這些直觀的數系，但是只能在用於初等数学或多數更高等數學中的标准实数系统之外进行，的確，某些設計含有「恰恰小於1」的数，不過，这些数一般与0.999…无关（因为与之相关的理论上和实践上都皆無實質用途），但在数学分析中引起了相当大的關注。
0.999…是書寫於小數記數系統中的一個数，读作：“零点九九循环”。一些最简单的0.999… = 1 的证明都依赖於这个系统方便的算术性质。大多數的小數算术──加法、减法、乘法、除法，以及大小的比较，使用与整数差不多的數位層次的操作。与整数一样，任何两个有限小数-{只要}-数位不同，那么数值也一定不同。特别地，任何一个形如0.99…9的数，只要只得有限个9，這些9最終會停止，則該數都是严格小於1的。
误解0.999…中的（省略号）的意义，是误解0.999…= 1的其中一个原因。这里省略号的用法与日常语言和0.99…9中的用法是不同的，0.99…9中的省略号意味着的有限的部分被省略掉了。但是，当用来表示一个循环小数的时候，"…"则意味着无限的部分被省略掉了，这-{只能}-用极限的数学概念来阐释。作為使用傳統數學的結果，指派給記數表示式“0.999…”的值定義為一個實數，該實數為收敛数列（0.9，0.99，0.999，0.9999，0.99999，…）的极限。「0.999…」是一个数列的极限，从而，对於0.999…= 1这个等式就很直观了。
与整数和有限小数的情况不一样，其實記數法也可以多種方式表示單一個數值。例如，如果使用分數，。但是，一个数最多只能用两种无限小数的方法来表示。如果有两种方法，那么其中一种一定从某一位开始全是循環重複的9，而另外一种则一定从某一位开始就全是循環重複的0。
0.999… = 1 有许多证明，它们各有不同的嚴謹性。一个嚴謹的证明可以简单地说明如下。考虑到两个实数其實是同一個的，当且仅当它们的差等於零。大部分人都同意，0.999…与 1 的差，就算存在也是非常的小(實際上根本不存在，即差等於0)。考虑到以上的收敛数列，我们可以证明这个差的大小一定是小於任何一个正数的，也可以证明（详细内容参见阿基米德性質），唯一具有这个性质的实数是0。由於差是0，可知 1 和 0.999…是同一數，用相同的理由，也可以解释为什么「0.333…=1/3」；而該等式乘上3倍後成為「0.999… = 1」。
在不考慮柯西序列的情況下：
結果為0.000…，也就是後面的0無限循環。這兩個數目在這裡是無限循環小數，小數點後五位之後還會一直填上0，始終無法找到最後一位來填上1，因為如果補上1就會成為有限小數。1.000… - 0.999… = 0.000… = 0，故1 = 0.999…。
這假設了0.999…沒有「最後的9」、這些無限循環小數的小數點後的位數為可列的（可以由第一個數位一個位一個位數下去而於有限次數到任一個數位）（這已得出0.999…沒有「最後的9」）、1.000… - 0.999…的結果存在小數表示式。運算結果將沒有「最後的1」，所以1與0.999…沒有差值。
无限小数是有限小数的一个必要的延伸，其中一个原因是用来表示分数。用长除法，一个像的简单整数除法便变成了一个循环小数，0.333…，其中有无穷多个数字3。利用这个小数，很快就能得到一个 0.999… = 1 的证明。用 3 乘以 0.333… 中的每一个 3，便得到 9，所以 3 × 0.333… 等於 0.999…。而 等於1，所以 0.999… = 1。
这个证明的另外一种形式，是用formula_4乘以9。
由於两个方程都是正确的，因此根据相等关系的-{zh:传递性质;zh-cn:传递性质;zh-tw:遞移性質}-，0.999…一定等於1。类似地，，且。所以，0.999…一定等於1。
用竖式计算可得 formula_5
设 formula_6
则
解此一元一次方程式得:
所以 formula_9 。
另外一种证明更加适用於其它循环小数。当一个小数乘以10时，其数字不变，但小数点向右移了一位。因此10 × 0.999…等於9.999…，它比原来的数大9。
考虑从9.999…减去0.999…。我们可以一位一位地减；在小数点后的每一位，结果都是9 - 9，也就是0。但末尾的零并不能改变一个数，所以相差精確地是9。最后一个步骤用到了代数。设0.999… = "c"，则10"c" − "c" = 9，也就是9"c" = 9。等式两端除以9，便得证："c" = 1。用一系列方程来表示，就是
以上两个证明中的位数操作的正确性，并不需要盲目相信，也无需视为公理；它是从小数和所表示的数之间的基本关系得出的。这个关系，可以用几个等价的方法来表示，已经规定了0.999…和1都表示相同的實數。
其中一个要求，是要刻划所有能表示成小数的实数的特征，由一个可选择的符号、构成整数部分的有限个数字、一个小数点，以及构成小数部分的一系列数字组成。为了讨论0.999…的目的，我们可以把整数部分概括为"b"，并可以忽略负号，这样小数展开式就具有如下的形式：
小数部分与整数部分不一样，整数部分只能有有限个数字，而小数部分则可以有无穷多个数字。这一点是至关重要的。这是一个进位制，所以500中的5是50中的5的十倍，而0.05中的5则是0.5中的5的十分之一。
也许小数展开式最常见的发展，是把它们定义为无穷级数的和。一般地：
对於0.999…来说，我们可以使用等比级数的收敛定理：
由於0.999…是公比为formula_15的等比级数的和，应用以上定理，很快就可以得出证明了： 这个证明（实际上是10等於9.999…）早在1770年就在瑞士数学家莱昂哈德·欧拉的作品《Elements of Algebra》（《代数的要素》）中出现了。 等比级数的和本身，是一个比欧拉还要早的结果。一个典型的18世纪的推导用到了逐项的操作，类似於以上的代数证明。直到1811年，Bonnycastle的教科书《An Introduction to Algebra》（《代数的介绍》）依然使用这种等比级数的方法来证明对0.999…使用的策略是正当的。在19世纪，这种在當時被以為随随便便的求和方法遭到了反对，这样便导致了现在仍然占有支配地位的定义：一个级数的和定义为数列的部分和的极限。该定理的一个对应的证明，明确地把这个数列计算出来了；这可以在任何一本以证明为基础的微积分或数学分析的教科书中找到。
对於数列（"x"，"x"，"x"，…）来说，如果当"n"增大时，距离|"x" − "x"|变得任意地小，那么这个数列就具有极限"x"。0.999… = 1的表述，可以用极限的概念来阐释和证明：
最后一个步骤—lim / = 0—通常由实数擁有阿基米德性質這一原理来證明。这个以极限为基础的对0.999…的看法，有时会用比较引人注意但不太精确的话语来表达。例如，在1846年的美国教科书《大学算术》（《The University Arithmetic》）中有这么一句：“0.999+，到无穷远处等於1，这是因为每加上一个9，都会使它的值更加接近於1”（.999 +, continued to infinity = 1, because every annexation of a 9 brings the value closer to 1）；在1895年的美国教科书《Arithmetic for Schools》（《学校算术》）中也有：“…如果有非常多的9，那么1和0.99999…的差就小得难以想像了”（“…when a large number of 9s is taken, the difference between 1 and .99999…becomes inconceivably small”）。这种启发式的教学法，常常被学生们误解为0.999…本身就小於1。
以上的级数定义，是一个用小数展开式来定义实数的简单的方法。还有一种补充的方法，是相反的过程：对於一个给定的实数，定义一个相关的小数展开式。
如果知道一个实数"x"位於闭区间[0, 10]内（也就是说，这个实数大於或等於0，而小於或等於10），我们就可以想像把这个区间分成十个部分，只在终点处相重叠：[0, 1]、[1, 2]、[2, 3]，依此类推，直到[9, 10]。实数"x"一定是属於这十个区间的一个；如果它属於[2, 3]，我们就把数字“2”记录下来，并把这个区间再细分成十个子区间：[2, 2.1]、[2.1, 2.2]、…、[2.8, 2.9]、[2.9, 3]。把这个过程一直继续下去，我们便得到了一个无穷的区间套序列，由无穷个数字"b"、"b"、"b"、"b"、…来标示，并记
在这种形式中，1 = 1.000…而且1 = 0.999…的事实，反映了1既位於[0, 1]，又位於[1, 2]，所以我们在寻找它的数字时，可以选择任意一个子区间。为了保证这种记法没有滥用“=”号，我们需要一种办法来为每一个小数重新构造一个唯一的实数。这可以用极限来实现，但是还有其它的方法。
一个简单的选择，是区间套定理，它保证只要给出了一个长度趋近於零的闭区间套序列，那么这些区间套的交集就正好是一个实数。这样，"b"."b""b""b"…便定义为包含在所有的区间["b", "b" + 1]、["b"."b", "b"."b" + 0.1]，依此类推的唯一的实数。而0.999…就是位於所有的区间[0, 1]、[0.9, 1]、[0.99, 1]、[0.99…9, 1]（对於任意有限个9）的唯一的实数。由於1是所有这些区间的公共元素，因此0.999… = 1。
区间套定理通常是建立在一个更加基本的实数特征之上的：最小上界的存在。为了直接利用这些事物，我们可以把"b"."b""b""b"…定义为集合{"b"，"b"."b"，"b"."b""b"，…}的最小上界。然后我们就可以证明，这种定义（或区间套的定义）与划分的过程是一致的，再一次证明了0.999… = 1。汤姆·阿波斯托尔得出结论：
有些方法用公理集合论明确把实数定义为一定的建立在有理数上的结构。自然数──0、1、2、3，依此类推──从零开始并继续增加，这样每一个自然数都有一个后继者。我们可以把自然数的概念延伸到负数，得出所有的整数，并可以进一步延伸到比例，得出所有的有理数。这些數系伴随着加法、减法、乘法和除法的算术。更加微妙地，它们还包括排序，这样一个数就可以与另一个进行比较，并发现是大於、小於，还是等於。
从有理数到实数的一步，是一个很大的延伸。至少有两种常见的方法来达到这一步，它们都在1872年出版：戴德金分割，以及柯西序列。直接用到这些结构的0.999… = 1的证明，现在已经无法在實分析的教科书中找到了；最近几个年代的趋势，是使用公理化的分析。即使提供了这样的一个结构，它也通常被用来证明实数的公理，从而为以上的证明提供证据。然而，有些作者表达了从一个结构开始才是逻辑上更恰当的想法，这样得出的证明就更加完备了。
在戴德金分割的方法中，每一个实数"x"定义为所有小於"x"的有理数所组成的无穷集合。比如說，实数1就是所有小於1的有理数的集合。每一个正的小数展开式很容易决定了一个戴德金分割：小於某个展开阶段的有理数的集合。所以实数0.999…是有理数"r"的集合，使得"r" < 0，或"r" < 0.9，或"r" < 0.99，或"r"小於其它具有 形式的数。0.999…的每一个元素都小於1，因此它是实数1的一个元素。反过来，1的一个元素是有理数 ，也就是。由於0.999…和1包含相同的有理数，因此它们是相同的集合：0.999… = 1。
把实数定义为戴德金分割，首先由理查德·戴德金在1872年出版。 以上把每一个小数展开式分配一个实数的方法，应归於弗雷德·里奇曼在《Mathematics Magazine》（《数学杂志》）上发表的一篇名为“Is 0.999… = 1?”（“0.999… = 1吗？”）的演讲稿，主要是为大学的数学教师，尤其是初级／高级程度，以及他们的学生而作。里奇曼注意到，在有理数的任何一个稠密子集中取戴德金分割，都得到相同的结果；特别地，他用到了十进分数（分母为10的幂的分数），这样便更快得出证明了：“所以，我们看到，在实数的传统定义中，方程 0.9* = 1 在一开始就建立了。”把这个步骤再作进一步的修改，便得到了另外一个结构，里奇曼对描述这个结构更感兴趣；参见以下的“其它數系”。
另外一种构造实数的方法，间接地用到了有理数的排序。首先，有理数"x"和"y"之间的距离定义为绝对值|"x" − "y"|，其中绝对值|"z"|定义为"z"和−"z"的最大值，因此总是非负的。这样实数便被定义为关於这个距离的具有柯西序列性质的有理数序列。也就是说，每一个实数都是一个柯西收敛的数列（"x"，"x"，"x"，…）。这是一个从自然数到有理数的映射，使得对於任何正有理数δ，总存在一个"N"，使得对於所有的"m"、"n" > "N"，都有|"x" − "x"| ≤ δ。（两项之间的距离变得比任何正的有理数都要小。）
如果（"x"）和（"y"）是两个柯西数列，那么如果数列（"x" − "y"）有极限0，这两个数列便定义为相等的。把小数"b"."b""b""b"…拆开来，便得到了一个有理数序列，它是柯西序列；这个序列对应的实数被定义为这个小数的值。所以，在这种形式中，我们的任务就是要证明，有理数序列
有极限0。对於"n" = 0、1、2、…，考虑数列的第"n"项，我们需要证明
这个极限是众所周知的；一个可能的证明，是在数列的极限的定义中，对于ε = "a"/"b" > 0，我们可以取"N" = "b"。所以，这又一次证明了0.999… = 1。
把实数定义为柯西序列，首先由爱德华·海涅和格奥尔格·康托尔独立发表，也是在1872年。以上的小数展开式的方法，包括0.999… = 1的证明，则主要是得自格利菲斯（）和希尔顿（）在1970年的作品《一本经典数学的综合教科书：一个当代的阐释》（"A comprehensive textbook of classical mathematics: A contemporary interpretation"）。这本书是特别为了以当代的眼光回顾一些熟悉的数学概念而作的。
0.999… = 1的证明，立刻可以进行两种推广。首先，对於每一个非零的有限小数（也就是说，从某一位开始全是零），都存在另外一个与其相等的数，从某一位开始全是9。例如，0.24999…等於0.25，就像我们考虑的特殊情况。这些数正好是十进分数，而且是稠密的。
其次，一个类似的定理可以应用到任何一个底数或进位制。例如，在二进制中，0.111…等於1；而在三进制中，0.222…等於1。實分析的教科书很有可能略过0.999…的特殊情况，而从一开始就介绍这两种推广的一种或两种。
1的其它表示法也出现在非整数进位制中。例如，在黄金进制中，两个标准的表示法就是1.000…和0.101010…，此外还有无穷多种含有相邻的1的表示法，如0.11，0.1011，0.101011等等。一般地，对於几乎所有的1和2之间的"q"，在"q"进制中都有无穷多种1的展开式。而另一方面，依然存在不可数个"q"（包括所有大於1的自然数），使得在"q"进制中只有一种1的展开式，除了显然的1.000…。这个结果首先由保罗·埃尔德什、Miklos Horváth和István Joó在大约1990年获得。1998年，Vilmos Komornik和Paola Loreti确定了具有这种性质的最小的进位制──Komornik-Loreti常数"q" = 1.787231650…。在这个进位制中，1 = 0.11010011001011010010110011010011…；其数字由图厄-摩斯数列给出，不是循环小数。
一个更加深远的推广，提到了最一般的进位制。在这些进位制中，一个数也有多种表示法，在某种意义上来说难度甚至更大。例如： Marko Petkovšek证明了这种歧义是使用进位制的必然结果：对於任何一个把所有实数命名的系统，总有无穷多个实数有多种表示法，而这些实数所组成的集合又是稠密的。他把这个证明称为“一个基本点集拓扑学的指导性的练习”：它包含了把各位数的集合视为斯通空间，并注意到它们的实数表示法可以由连续函数给出。
0.999…的其中一个应用，出现在基本数论中。1802年，H·古得温出版了一份观察资料，描述了分母为一定的素数的分数的小数展开式中9的出现。例子包括： E·米迪在1836年证明了关於这类分数的一个一般的结果，现在称为米迪定理。当初出版时没有写得很清楚，我们也不知道他的证明是不是直接提到了0.999…，但至少有一个W·G·莱维特的现代证明是这样的。如果我们可以证明，一个具有形式0."b""b""b"…的小数是正整数，那么它就一定是0.999…，这也就是定理中9的来源。在这个方向上继续做研究，就可以得出诸如最大公因子、同余、费马素数、群元素的階，以及二次互反律等概念。 回到實分析的主题上，三进制中的类似等式0.222… = 1在刻划康托尔集合──一个最简单的碎形的特征中，扮演了一个十分重要的角色：
小数中的第"n"位反映了在第"n"个阶段时点的位置。例如，点²⁄可以如常地表示为0.2或0.2000…，这是因为它位於第一个删除部分的右面，以及以后所有的删除部分的左面。点⁄则不表示为0.1，而表示为0.0222…，这是因为它位於第一个删除部分的左面，以及以后所有的删除部分的右面。
重复的9还出现在另外一个康托尔的研究成果中。在应用他在1891年发表的对角线论证法来证明单位区间的不可数性时，必须要考虑到这种因素。这种证明需要根据小数展开式来断言两个实数是不同的，所以我们需要避免诸如0.2和0.1999…之类的数对。一个简单的方法把所有的实数表示为无限小数；相反的方法便排除了重复的9的可能性。一个可能更加接近於康托尔原先的证明的变体，实际上使用了二进制，把三进制展开式转换为二进制展开式，我们也可以证明康托尔集合的不可数性。
許多学习数学的学生往往懷疑、難以接受0.999… = 1的等式，其原因有很多，从根本不相同的外观，到对数列极限概念的深度疑虑，乃至对無限（無窮）的本性的异议，以及不少對數學錯誤的觀念等背後的因素，從而造成了这种混淆； 这些想法在标准实数系（指具有完备性的）中都是错误的，但在其它數系中则有可能是正确的（要求相应数系不具备阿基米德性質，因为阿基米德性質要求数系中没有非零无穷小）。这些系统要么是为一般的数学用途而发明，要么就是作为指导性的反例，使人们更好地理解0.999…。
许多这些解释都是大卫·塔尔教授发现的，他研究了造成学生们误解的教导方法的特征。他访问了他的学生以决定为什么大多数人在一开始都拒绝接受该等式，发现“学生们仍然继续把0.999…视为一个越来越接近1的数列，而不是一个定值，因为‘你没有指定它有多少位’或‘在所有小於1的小数中，它是最大的数。’”
在所有初等的证明中，用0.333… = ⁄乘以3表面上是使学生们迫不得已接受0.999… = 1的一个成功的策略。但是，面对着对第一个等式的相信以及对第二个等式的怀疑，有些学生要么就开始怀疑第一个等式，要么干脆就感到灰心丧气了。同时也还有否认0.999…=1的学生指出1/3 比0.333…大一点（因为1/3是除不完的），所以推法“不成立”。更加复杂的方法，也不是十分有效的；有些学生完全可以应用严格的定义，但当他们被一个高等数学的结果，包括0.999…所震惊时，依然退回到直觉的形象上去了。例如，有一个学习實分析的学生，能够用最小上界的定义来证明0.333… = ⁄，但仍然坚称0.999…< 1，基於他早前对长除法的理解。其他学生也能够证明⁄ = 0.333…，但是，面对着以上的分数证明，仍然坚称“逻辑”能代替数学运算。
约瑟·马祖尔讲了一个故事：有一个十分聪明的学习微积分的学生，他“对我在课堂上讲的几乎所有内容都要提出一番异议，但对他的计算器深信不疑”。他相信，九个数字就是学习数学所需要的一切，包括计算23的平方根。这位学生对9.99… = 10的极限证法感到别扭，称其为“一个难以想像的无限增长过程”。
作为埃德·杜宾斯基的数学学习的“APOS理论”的一部分，杜宾斯基和他的合作者在2005年提出：任何一个学生，只要把0.999…设想为一个有限的、不确定的数串，与1的差是无穷小，那么他就“还没有对无限小数形成一个完整的过程概念”。其他对0.999…有了完整的过程概念的学生，仍不一定能把这个过程“概括”成一个“对象概念”，就像他们对1的对象概念那样，所以仍然觉得0.999…和1是不一致的。杜宾斯基还把这种概括的能力与把⁄视为一个独立的数，以及与把实数的集合视为一个整体联系起来。
随着互联网的崛起，关於0.999…的讨论已经冲出了教室，并走向了新闻组和信息版，包括那些名义上几乎与数学无关的信息版。在新闻组sci.math中，辩论0.999…是一项“受欢迎的运动”，也是常见问答集之一。常见问答集涵盖了⁄、乘以10、还有极限的证明，也间接地提到了柯西序列。
一个2003年版的报纸专栏《》通过⁄和极限讨论了0.999…，并谈到了误解：
《真实讯息》在自己的信息版引用了另外一个不明的信息版中的讨论，那个信息版“大部分是关於电子游戏的”。0.999…的问题在暴雪娱乐的Battle.net论坛的头七年也是一个非常受欢迎的话题，以致於该公司在2004年的愚人节不得不发布了一则“新闻”，声明0.999…就是1： 然后便提供了两个证明，一个是极限的证明，另一个是乘以10的证明。
比較直觀的解釋，可以把一塊圓餅平均切3分來證明。
虽然实数形成了一个非常有用的數系，把“0.999…”解释为一个实数的决定毕竟还是一个约定，蒂莫西·高尔斯在《Mathematics: A Very Short Introduction》（《数学：一个非常简短的介绍》）中提到，0.999… = 1的等式也是一个约定：
我们可以用不同的规则或新的事物来定义其它數系；在數系中，以上的证明便需要重新解释。我们就有可能发现，在某一个给定的數系中，0.999…和1并不一定就是相等的。然而，许多數系都是实数系的延伸，而不是独立的替代物，所以0.999… = 1仍然成立。就算是在这數系中，我们依然值得去检查其它的數系，不仅仅为了知道0.999…是怎样表现的（如果“0.999…”既有意义又不含糊），也为了知道相关现象的表现。如果这种现象与实数系统中的现象不一致的话，那么至少一个建立在这个系统中的假设便一定不成立了。
0.999… = 1的证明依赖於标准实数的阿基米德性質：不存在非零的无穷小。存在著數學上密切相關的有序代数结构是非阿基米德的，其中包括标准实数的各种各样的替代品。0.999…的意义与我们使用的结构有关。例如，在对偶数中，引进了一个新的无穷小单位ε，就像复数系统中的虚数单位"i"一样，但是ε² = 0。这样便得出了一个在自动微分中十分有用的结构。我们可以给予对偶数一个字典序，这样ε的倍数就非阿基米德原素。但是，要注意到，作为实数的延伸，在对偶数中仍然有0.999… = 1。尽管ε在对偶数中存在，ε/2也存在，所以ε就不是“最小的正对偶数”。确实是这样，在实数中，并不存在这类的数。
另外一种构造标准实数的替代品的方法，是使用拓撲斯理论和替代的逻辑，而不是集合论和经典的逻辑（一种特殊情况）。例如，在光滑无穷小分析中，就存在没有倒数的无穷小。
非标准分析因包含了一个有无穷小（及它們的反元素）完整陣列的系統而众所周知，它提供了一个不同的，也许是更加直观的，对微积分的处理。A.H. Lightstone在1972年提供了一个非标准小数展开式的发展，其中每一个位於（0, 1）之内的扩展的实数，都有一个唯一的扩展的小数展开式：数列0.ddd…；…ddd…，由扩展的自然数作索引。在这种形式中，0.333…有两种自然的展开式，都不与/相差无穷小：
组合博弈论也提供了替代的实数，无穷的蓝-红Hackenbush就是一个相关的例子。1974年，埃爾溫·伯利坎普描述了一个Hackenbush字串与实数的二进制展开式之间的对应关系，由数据压缩的想法所促动。例如，Hackenbush字串LRRLRLRL…的值是0.010101… = /。然而，LRLLL…的值（对应着0.111…）则与1相差无穷小。两个数的差是超实数/，其中ω是第一个无穷序数；相关的博弈是LRRRR…或0.000…。
另外一种也可以使以上证明不成立的方法，就是1 − 0.999…根本就不存在，因为减法并不一定就是可能的。具有加法运算但没有减法运算的数学结构包括可交换半群、可交换幺半群，以及半环。里奇曼考虑了两种这类的系统，使得0.999…< 1。
首先，里奇曼把非负的“小数”定义为字面上的小数展开式。他定义了字典序和一种加法运算，注意到0.999… < 1仅仅因为在个位数0 < 1，但对於任何一个有限小数"x"，都有0.999… + "x" = 1 + "x"。所以“小数”的一个独特之处，是等式两边不能同减一个数；另外一个独特之处，就是没有“小数”对应着⁄。把乘法也定义了以后，“小数”便形成了一个正的、全序的、可交换的半环。
在定义乘法的过程中，里奇曼还定义了另外一种系统，他称之为“分割"D"”，它是小数的戴德金分割的集合。通常用这种定义便可以得出实数，但对於小数"d"他既允许分割（−∞， "d" ），又允许“主分割”（−∞， "d" ]。这样做的结果，就是实数与“小数”“不舒服地住在一起”。这个系统中也有0.999… < 1。在分割"D"中不存在正的无穷小，但存在一种“负的无穷小”──0，它没有小数展开式。里奇曼得出结论，0.999… = 1 + 0，而方程“0.999… + "x" = 1”则没有解。
问到关於0.999…的时候，初学者常常相信应该有一个“最后的9”，也就是说，相信1 − 0.999…等於一个正数，可以写为“0.000…1”。不管那有没有意义，目标都是明确的：把1加在0.999…中的最后的9上，就会把所有的9变成0，并在个位数留下一个1。如果考虑到其它的原因，这种想法便不成立了，这是因为在0.999…中，并不存在“最后的9”。对於包含最后的9的无穷多个9，我们必须从别的地方去寻找。
"p"进数是在数论中引起兴趣的又一个數系。像实数那样，"p"进数可以从有理数通过柯西序列得到；但是，这种结构使用了另外一种度量，0与"p"之间的距离比0与1的距离还要近，而0与"p"的距离又比0与"p"的距离近。对於素数"p"来说，"p"进数便形成了一个域，而对於其它的"p"，包括10来说，则形成了一个环。所以在"p"进数中可以进行算术，这种數系也不存在无穷小。
在10进数中，类似於小数展开式的事物位於小数点的左面。10进展开式…999确实有一个最后的9，而没有第一个9。我们可以把1加在个位数上，这样进位之后就只剩下0了：1 + …999 = …000 = 0，所以…999 = −1。另外一种推导用到了等比级数。“…999”所指的无穷级数在实数中不收敛，但在10进数中收敛，所以我们可以使用大家熟悉的公式：
（与前面的级数比较。）第三种推导是一个七年级学生發明的，他对老师所讲的0.999… = 1的极限证明感到怀疑，但因而产生了灵感，把以上乘以10的证明应用在相反的方向上：如果"x" = …999，则10"x" = …990，因此10"x" = "x" − 9，所以"x" = −1。
作为一个最后的延伸，由於0.999… = 1（在实数中），而…999 = −1（在10进数中），那么我们可以“盲目、大胆地摆弄符号”，把两个等式相加起来，得出：…999.999… = 0。这个等式在10进展开式中和标准小数展开式中都是没有意义的，但假如我们研究出一种“双小数”的理论，其中小数点左面和右面都可以无限延伸，那么这个等式便是有意义和正确的。