當客戶端'我首先需要以程式設計方式拼寫數字;發票插件必須列印和報價;字數和報價金額;在每張收據上,就像支票一樣。聽起來很瑣碎,直到你達到 1,000,000,並且必須決定是否為 "一百萬和報價;或&報價;十萬萬,&報價;或直到像 2,015 這樣的值變成 "二十十五&報價;當文件需要時,在你的腦海中;兩千十五。&報價;寫出的數字遵循嚴格的規則,在財務文件上犯錯並不是一件小事。收據功能就是我建立我可以信任的數字到文字邏輯的原因,它現在作為 toolz。dev 上的免費工具存在。
TL;DR: 數字到單字的轉換器在英語中拼寫一個數值 - 1,234 變成 "一千二百三十四。"它處理基數(一、二、三)、序數(第一、第二、第三)、貨幣("一百美元五十美分")和小數逐位讀取("三點一四")。這 數字轉換器 全部四個都執行此操作,將單字轉換回數字,將整數精確拼寫到十億,並完全在瀏覽器中運行。
拼出數字是特定於地區的,規則已編目: 統一碼 CLDR 攜帶國際化軟體使用的數字拼出數據,而不是手寫的英文規則。
本指南解釋了英語用於命名數字的規則、人們最常犯錯的地方、如何處理貨幣和小數,以及相反方向(單字回到數字)的工作原理。如果您曾經盯著標有 " 的表單欄位;字數和報價的金額;事後猜測,這就是要保留的參考。
為什麼要將數字轉換為單字?
最常見的原因是法律和財務文件。支票、發票、合約和本票列印金額兩次:一次以數字形式,一次以文字形式。這些字詞的存在是為了消除歧義並使篡改變得更加困難--更改數字很容易,更難令人信服地更改書面短語。按照長期慣例,如果數字和文字不一致,書面文字將被視為權威金額。這就是為什麼該功能出現在如此多的計費軟體中的原因。
第二個原因是可訪問性和語音。螢幕閱讀器和語音介面通常需要或產生數字的口語形式,拼出數字就是如何精確地控制大聲朗讀值的方式。教育是第三:教材不斷在數字和單字之間轉換,children'工作表中充滿了"用單字"寫這個數字;練習。
然後是一些小的實際時刻--手工填寫表格,寫一封正式的信件,其中風格指南更喜歡拼寫出一百以下的數字,或者在數字看起來不合適的地方貼上標籤。任務很常見,"數字到單字"是每個月穩定的搜索,這正是 toolz。dev 的耐用、真正有用的實用程式 web 開發人員工具包 是圍繞建造的。
英語如何命名大數字?
英語從三位數組建立數字名稱,從最大的組向下讀取。每組都拼寫為三位數,然後給出一個比例名稱。
音階名稱,在美國和當代英國使用的現代短音階中,為:單位(無名稱)、千、百萬、十億、萬億、千萬億、五億,然後到六十億、七十億,甚至更遠。每一步乘以一千。因此,一個數字從右側切成三位數的組,每個組被命名,並且這些組被連接。
取1,234,567。將其分成幾組:1 | 234 | 567。每個名稱及其比例:"一百萬,&引用; &引用;二十三萬四千,&引用; &引用;加入他們:&引用;一百萬二十三萬四千五百六十七。&引用;全部為零的組被完全跳過 - 1,000,045 是 & 引用;一百萬四十五,&引用;對於空的數千組,什麼也沒說。
在一組三人中,規則是: 百位數字的名稱加上 "百位,"最後兩位數字遵循十和一模式。二十以下的數字有唯一的名稱(十一、十二、十三)。從二十個以上,複合值以連字符連接:二十一、四十七、九十九。
以下是比例步驟如何對應到數字:
| 號碼 | 數字 | 詞 |
|---|---|---|
| 千 | 1,000 | 一千 |
| 百萬 | 1,000,000 | 一百萬 |
| 十億 | 1,000,000,000 | 十億 |
| 兆 | 1,000,000,000,000 | 一兆 |
| 四億 | 1,000,000,000,000 | 一千萬億 |
的 數字轉換器 名稱組一直到十億,因為它從數字字串而不是數值拼寫整數,所以即使超過正常 JavaScript 數字在 9 兆左右失去精度的點,它仍然保持精確。最後一個細節在發票案例中很重要 - 您不希望出現法定金額的捨入錯誤。
應該有一個"和"以書面數字?
這是開始爭論的問題,誠實的答案是這取決於方言。
在美式英語中,"和&引用;整數各部分之間通常省略。所以2,500是&引用;兩千五百,&引用; 342是&引用;三百四十二。&引用;在這種風格中,"和&引用;保留給小數點 - "百分之一百五百&引用;具體表示小數。
英式英語中,"和&引用;通常插入最後兩位數字部分之前:"兩千五百,&引用;但是&引用;三百四十二,&引用;和&引用;一千零一。&引用;兩者在自己的登記冊中都是正確的。
轉換器遵循美國慣例,不產生 "和&引用;整數各部分之間,這是軟體更安全的預設值,因為它是明確的。當閱讀單字時 回來 不過,它接受一個數字;和&引用;無論何時有人可以輸入它,所以&引用;三百四十二&引用;仍然解析為 342。對於此類工具來說,嚴格輸出和寬鬆輸入是一個很好的通用規則。
貨幣金額和小數如何處理?
貨幣和普通小數的拼寫不同,這會讓人心煩意亂。
對於普通的十進制,整個部分拼寫正常,然後單字"點&引用;說,然後單獨讀取該點之後的每個數字。所以 3.14 是 "三點一四," 0.05 是 "零點零五。"一次讀取一個數字 - 而不是作為兩位數 - 是不含糊地對小數進行語音的標準方式。 &引用;三點十四&引用;這不是用仔細的英語大聲朗讀小數的方式。
對於貨幣,格式完全改變。整個部分變成美元計數,前兩位小數變成美分:100.50 是"一百美元五十美分。這是支票和發票所期望的格式,這就是為什麼轉換器有專用的貨幣模式。單數和複數形式也會調整 - 一美元一美分,但兩美元五十美分。當您填寫貨幣欄位時開啟貨幣模式,當您只想闡明數學值時將其關閉。
負數前綴為 "負數,"匹配它們的書寫和口語方式:-42 是 "負四十二。"轉換器首先應用符號,然後拼寫大小。
因為這些格式選擇完全改變了輸出,所以選擇正確的模式比原始數字更重要。這是相同的&引用;小的正確選擇會複合成可靠的結果&引用;貫穿的想法 開發人員生產力工具 方法 - 正確設定模式,工具準確地完成其餘操作。
基數和序數有什麼差別?
基數表示數量:一、二、三、四十二。序數命名序列中的位置:第一、第二、第三、四十二。您需要寫出日期的序數("六月二十一日")、排名以及任何"按順序和引用哪一個;上下文。
大多數序數詞是透過加"th"來形成的。對於基數 - 四變成第四,六變成第六,十變成第十。但英語有一組你必須記住的不規則形式:一個變成第一,兩個變成第二,三個變成第三,五個變成第五,八個變成第八,九個變成第九,十二變成第十二。十以 "y" 結尾;改變"y"到"ieth" - 二十變成第二十,四十變成第四十。
對於複合數,只有最後一個字採用序數形式:二十一變成二十一,一百變成百分之一,一千變成千分之一。轉換器'序數模式完全應用這些規則,因此 21 給出 "二十一&引用; 100 給出 "百分之一。&引用;序數僅適用於整數;小數沒有序數形式。
它可以將單字轉換回數字嗎?
是的,這個相反的方向比人們想像的更有用。貼上並引用; 240萬40萬&引用;該工具返回 2,400,000。當您數位化手寫記錄、解析口頭輸入或檢查書面金額與其數字相符時,這一點很重要。
解析器理解基數最多四萬億,這是一個可選的"和&引用;任何可能出現的地方,"負&引用;或&引用;減&引用;對於符號,和&引用;點&引用;後面跟著小數的單位數單字。所以&引用;負一千五點二五&引用;變成-1005.25。它適用於標準措辭;故意使用不尋常的結構可能不會解析,這就是為什麼該功能是盡力而為而不是完整的自然語言引擎。
反向方向自然與正向方向配對進行驗證:拼寫一個數字,然後將單字轉換回來,並確認您以相同的值著陸。這次往返檢查是我在列印一張收據之前對發票功能進行理智測試的方式,這與背後的紀律相同 羅馬數字轉換器,它也透過往返來驗證其輸出。如果您使用其他基數的數字,則 數目 基數轉換器 涵蓋二進制、八進制和十六進制。
你應該注意哪些錯誤?
最大的是"上的方言不符。和&引用; - 將美式金額寫入英國文檔,反之亦然。在開始之前決定文件遵循哪個約定。
第二個是混合十進制和貨幣格式。 &報價;三點一四&報價;和&報價;三美元十四美分&報價;描述相同的數字,但意味著非常不同的東西。選擇貨幣模式只是為了金錢。
第三個是尾隨零小數。如果您輸入 1.50,請仔細拼字給出 "一點五零,"讀取您輸入的每個數字 - 不是 "一點五。"您是否想要尾隨零取決於上下文;轉換器完全按照給定的方式拼寫數字,以便您保持控制。
第四個,在相反的方向上,期望解析器處理以成對形式讀取的年份 - "十九八十四&引用; 1984 年。這是口語速記,而不是標準數字名稱;輸入&引用;一千九百八十四&引用;如果您需要 1984 年。toolz。dev 上的所有內容(包括此工具)都運行客戶端,因此您輸入的任何內容都不會傳輸,即 隱私優先標準 整個網站的後面。
數字到單字在實際專案中出現在哪裡?
多年來,同樣的少數場景不斷將這項功能帶回我的作品中,它們值得了解,因為每個場景都有自己的怪癖。
發票和計費系統 是經典案例。任何顯示 " 的收據、發票或支票;字數和報價的金額;需要貨幣模式拼寫,並且金額必須與數字完全匹配。這裡的微妙陷阱是四捨五入:如果您的數字是 100.50,您想要 "五十美分,"但如果浮點計算給您留下 100.499999,則必須四捨五入到小數點後兩位 之前 拼寫,否則您將列印並引用;四十九美分&引用;並且總數不符。拼出已經四捨五入的值,而不是原始計算的浮點數。
法律和合約文件 出於同樣的防篡改原因,用文字拼出持續時間、數量和金額。這裡的風格傾向於正式,一些司法管轄區期望英國"和&報價;約定,因此在標準化之前確認系列使用的文件註冊。合約也經常將單字與括號中的數字配對 - "一千 (1,000) 個單位和報價; - 您可以透過運行轉換器並將數字放在一邊來組裝。
教育軟體和工作表 不斷轉換兩個方向。拼字練習產生一個數字並檢查學生'書面答案,這正是單字到數字的方向;閱讀練習則相反。因為孩子'材料保持在較小的範圍內,因此您很少遇到這裡的大數字邊緣情況,但您確實需要乾淨的 " 序數;你完成了哪個地方並引用了;風格問題。
本地化和語音介面 需要口語形式來控制如何大聲朗讀值並翻譯它。英語數字規則只是起點 - 其他語言組和性別數字不同 - 但完全正確英語形式是您建立其餘部分的基礎。從數字字串而不是浮點數進行拼字的相同規則可以使所有這些值保持較大的準確度,這就是可靠性 編碼工具指南 認為工作流程中的每個實用程式都應該滿足。
常見問題
1234 是怎麼寫的?
1234 是&引用;一千二百三十四。&引用;數字分為千組(一千)和單位組(二百三十四),連字符連接三十和四。在轉換器中輸入 1234 以立即看到它拼寫出來。
我如何將一定數量的錢轉換為文字?
將工具切換到貨幣模式並輸入金額,例如100.50,即可取得"一百美元五十美分。&報價;貨幣模式將整個部分拼寫為美元,將小數點後兩位拼寫為美分,這是支票和發票所期望的格式。
應該有一個"和"以書面數字?
在美式英語中,"和&引用;通常被省略,所以 2500 是 "兩千五百。&引用;英式英語中,"和&引用;經常出現在十之前,如"兩千五百一十。&引用;這個轉換器遵循美國風格,沒有"和,"但它接受 "and"當將單字讀回數字時。
小數是如何拼寫出來的?
整個部分拼寫正常,然後"點&引用;說,後面跟著每個數字單獨讀取。所以3.14變成"三點一四&引用; 0.05變成"零點零五。&引用;一次讀取一位數字是明確表達十進制的標準方法。
基數和序數有什麼差別?
基數詞命名一個數量 - 一、二、三 - 而序數詞命名序列中的位置 - 第一、第二、第三。開啟序數模式將 21 轉換為 "二十一&引用;或 100 轉換為 "百分之一。&引用;序數詞僅適用於整數。
這個工具可以拼出的最大數字是多少?
轉換器命名為十億次,覆蓋多達 36 位的整數。 因為它是從數字字串而不是數字值來拼寫整數,所以即使對於遠大於標準數字類型可以準確地持有的數字,結果也是準確的。
它可以將單字轉換回數字嗎?
是的。輸入像 " 這樣的短語; 240萬40萬"該工具返回 2400000。它理解最多四萬億的基數,是可選的 "和,&引用; &引用;負數&引用;或&引用;減數&引用;對於符號,和&引用;點&引用;後面跟著小數的單位數。字數解析是盡力而為的,適用於標準措詞。
為什麼我需要拼出數字?
用文字寫出數量可以消除歧義並使篡改變得更加困難,這就是為什麼支票、合約和發票同時顯示數字和文字的原因。 如果數字和書面金額不同意,則書面文字通常被視為權威。



