為漢字文化圈提供更易讀的數字分組
萬進制計劃
東亞語言以萬為單位計數。
數字分組也應如此。
錯位
書寫阿拉伯數字時,我們習慣每三位加一個逗號:1,000,000,000。用中文讀這個數是「十億」。雖然打了三個逗號,但中文使用者實際上按四位一組來讀數:億、萬、個位。
三位分組是千進制,即以千為單位來分組的英美方式。中文、日文、韓文使用萬進制,以萬為單位分組。正因為這種不一致,每次看到用阿拉伯數字寫的大數時,都要在腦中多做一步換算。
十二億三千四百五十六萬七千八百九十
並排比較
輸入任意數字。同一串數位在三位逗號與四位底線下會被切分成不同的群組。看哪一種更符合中文的讀法。
提案
以底線(_)作為萬位分隔符。
底線在ASCII範圍內,任何鍵盤都能直接輸入。它與逗號在視覺上有足夠的區別,在數字語境中也沒有其他含義。Python、Rust等多種程式語言已經將底線作為數字字面量的分隔符,在軟體生態中並不陌生。
現行
1,234,567,890
提案
12_3456_7890
與千位逗號並用
底線表示萬位,逗號表示千位,兩種體系層次分明地並存。在國際文件或需要混用的場合非常有用。
為何不用四位逗號
最簡單的替代方案是每四位打一個逗號。但逗號作為三位分隔符已在全球固化。軟體、金融系統和國際標準都以此為前提運轉,習慣了三位逗號的讀者反而會因四位逗號產生誤讀。
與其改變符號,不如增加符號,這樣既不與現有表記衝突,又能獲得萬進制的可讀性。
其他候選
在確定底線之前,我們考察了幾種其他符號。
-
間隔號
· U+00B7在東亞印刷文化中很常見,與逗號在視覺上區分明顯。但大多數鍵盤無法直接輸入,存在日常使用的障礙。
-
窄空格
U+2009獲得ISO 80000-1的推薦,符合標準。但與普通空格肉眼無法區分,各類文字處理工具的處理方式也不一致。
-
撇號
' U+0027在ASCII範圍內,輸入方便,但瑞士已將其用作三位分隔符,存在混淆的可能。更關鍵的問題是:Microsoft Word、Google Docs和手機鍵盤等許多軟體會自動將撇號轉換為彎引號。
-
普通空格
U+0020輸入最為方便,但會將數字分割成獨立的詞元,在搜尋、複製貼上和資料解析時造成問題,還可能在數字中間換行。
如何開始使用
寫作中,現在就可以開始。按底線鍵即可。
在軟體和資料領域,目前還沒有自動處理這種表記的標準,解析前需要一個顯式的規範化步驟——去掉底線再解析。