Post History
Given a non-negative integer up to $999\,999\,999$, write it in English. The input number can be in any form other than English (though you'll typically want to use the native integer type of your...
#3: Post edited
Given a non-negative integer up to $999,999,999$, write it in English.- The input number can be in any form other than English (though you'll typically want to use the native integer type of your language).
- The numbers must be formatted as follows:
- * Two-digit numbers must be written with dashes where applicable e.g. `twenty-five`, not `twenty five`.
- * powers of ten start with “one”, e.g. `one hundred`, not just `hundred`.
- * The tens/ones part, if not zero, must be separated from the hundreds part with `and`, e.g. `two hundred and five`, not `two hundred five`.
- * The above rules are applied also to the factors of thousand and million.
- * moreover the global tens/ones part has to be separated by `and` whenever *anything* larger is present, even if the hundreds part is missing.
- * Adjacent words must be separated by a single space, or a single dash without space where applicable.
- * Leading and/or trailing spaces are not allowed. However, if the result is printed, a single trailing newline (not preceded by any spaces) is allowed.
- [Ungolfed reference implementation](https://tio.run/##hVTbbtswDH33V3ACCsRoijpO16LZ2h8J@pAudC1AkQtJbusN@/aUoi6xF2/Tg0VR1DkkdeTXwbWdXh@Pe2wA9YuStl3oclMADYO2Vw4eQIiCHbIBDY8PsKp4hKhJZIa4vo5BJVyCgINUSnZa5BOagjVcJKhz/BM4eSP@F5/KaWPEfEk7IIpz7x8JhWyo5t7u9H4@nZCLPeyU0v3B0s4WxE80nViC6DT6yb3zyrUGed10veFZvvHayg@e8A21N1C@tM4bWkYA759UEoZAlc64d1QBzbXSOAxez5Rt2SSTCLPpAdKCiaPtudmGJ2Z2QyyOmLQbMtMQeJJBJEOiGE4EQ4YfMvjgoRm73dnUZU8yvsBvo7uGCihiEr0p5u82wba93htk1CSWrJ7R9hxMvtNtkMMTqyGemBVDRl5MCurMmKrkGriaiWpns/m/ZIVHG7@471BPgUPjKIn07v71LkZFh2tHZXGuOySHLXBj4ArqqJFpP86S@EtdV4I6OyGOPxTXGx0Di6ND637sLAYVVktYLeGGvt66JbOmuf7qHbV303V4x/qGXTySQQfvqnodPKtqVVc1ue7T8KIkPQMl84wGpIZMzQW8GqndohG/QsDm8f43STr/OthZlsXxEw)
- Test cases:
- ```
- 0 zero
- 1 one
- 4 four
- 10 ten
- 16 sixteen
- 42 forty-two
- 125 one hundred and twenty-five
- 1024 one thousand and twenty-four
- 1100 one thousand one hundred
- 12345 twelve thousand three hundred and forty-five
- 1000000 one million
- 1000001 one million and one
- 7023000 seven million twenty-three thousand
- 11012021 eleven million twelve thousand and twenty-one
- 999999999 nine hundred and ninety-nine million nine hundred and ninety-nine thousand nine hundred and ninety-nine
- ```
- Given a non-negative integer up to $999\\,999\\,999$, write it in English.
- The input number can be in any form other than English (though you'll typically want to use the native integer type of your language).
- The numbers must be formatted as follows:
- * Two-digit numbers must be written with dashes where applicable e.g. `twenty-five`, not `twenty five`.
- * powers of ten start with “one”, e.g. `one hundred`, not just `hundred`.
- * The tens/ones part, if not zero, must be separated from the hundreds part with `and`, e.g. `two hundred and five`, not `two hundred five`.
- * The above rules are applied also to the factors of thousand and million.
- * moreover the global tens/ones part has to be separated by `and` whenever *anything* larger is present, even if the hundreds part is missing.
- * Adjacent words must be separated by a single space, or a single dash without space where applicable.
- * Leading and/or trailing spaces are not allowed. However, if the result is printed, a single trailing newline (not preceded by any spaces) is allowed.
- [Ungolfed reference implementation](https://tio.run/##hVTbbtswDH33V3ACCsRoijpO16LZ2h8J@pAudC1AkQtJbusN@/aUoi6xF2/Tg0VR1DkkdeTXwbWdXh@Pe2wA9YuStl3oclMADYO2Vw4eQIiCHbIBDY8PsKp4hKhJZIa4vo5BJVyCgINUSnZa5BOagjVcJKhz/BM4eSP@F5/KaWPEfEk7IIpz7x8JhWyo5t7u9H4@nZCLPeyU0v3B0s4WxE80nViC6DT6yb3zyrUGed10veFZvvHayg@e8A21N1C@tM4bWkYA759UEoZAlc64d1QBzbXSOAxez5Rt2SSTCLPpAdKCiaPtudmGJ2Z2QyyOmLQbMtMQeJJBJEOiGE4EQ4YfMvjgoRm73dnUZU8yvsBvo7uGCihiEr0p5u82wba93htk1CSWrJ7R9hxMvtNtkMMTqyGemBVDRl5MCurMmKrkGriaiWpns/m/ZIVHG7@471BPgUPjKIn07v71LkZFh2tHZXGuOySHLXBj4ArqqJFpP86S@EtdV4I6OyGOPxTXGx0Di6ND637sLAYVVktYLeGGvt66JbOmuf7qHbV303V4x/qGXTySQQfvqnodPKtqVVc1ue7T8KIkPQMl84wGpIZMzQW8GqndohG/QsDm8f43STr/OthZlsXxEw)
- Test cases:
- ```
- 0 zero
- 1 one
- 4 four
- 10 ten
- 16 sixteen
- 42 forty-two
- 125 one hundred and twenty-five
- 1024 one thousand and twenty-four
- 1100 one thousand one hundred
- 12345 twelve thousand three hundred and forty-five
- 1000000 one million
- 1000001 one million and one
- 7023000 seven million twenty-three thousand
- 11012021 eleven million twelve thousand and twenty-one
- 999999999 nine hundred and ninety-nine million nine hundred and ninety-nine thousand nine hundred and ninety-nine
- ```
#2: Post edited
Convert integer to English
Given a non-negative integer up to $999\\,999\\,999$, write it in English.- The input number can be in any form other than English (though you'll typically want to use the native integer type of your language).
<s>When there are several variants of writing the number in English, you can choose whichever suits you more. For example, the input $120$ may give the output `one hundred twenty` or `one hundred and twenty`.</s>- The numbers must be formatted as follows:
- * Two-digit numbers must be written with dashes where applicable e.g. `twenty-five`, not `twenty five`.
- * powers of ten start with “one”, e.g. `one hundred`, not just `hundred`.
- * The tens/ones part, if not zero, must be separated from the hundreds part with `and`, e.g. `two hundred and five`, not `two hundred five`.
- * The above rules are applied also to the factors of thousand and million.
* moreover the global tens/ones part has bto be separated by `and` whenever *anything* larger is present, even if the hundreds part is missing.- * Adjacent words must be separated by a single space, or a single dash without space where applicable.
- * Leading and/or trailing spaces are not allowed. However, if the result is printed, a single trailing newline (not preceded by any spaces) is allowed.
- [Ungolfed reference implementation](https://tio.run/##hVTbbtswDH33V3ACCsRoijpO16LZ2h8J@pAudC1AkQtJbusN@/aUoi6xF2/Tg0VR1DkkdeTXwbWdXh@Pe2wA9YuStl3oclMADYO2Vw4eQIiCHbIBDY8PsKp4hKhJZIa4vo5BJVyCgINUSnZa5BOagjVcJKhz/BM4eSP@F5/KaWPEfEk7IIpz7x8JhWyo5t7u9H4@nZCLPeyU0v3B0s4WxE80nViC6DT6yb3zyrUGed10veFZvvHayg@e8A21N1C@tM4bWkYA759UEoZAlc64d1QBzbXSOAxez5Rt2SSTCLPpAdKCiaPtudmGJ2Z2QyyOmLQbMtMQeJJBJEOiGE4EQ4YfMvjgoRm73dnUZU8yvsBvo7uGCihiEr0p5u82wba93htk1CSWrJ7R9hxMvtNtkMMTqyGemBVDRl5MCurMmKrkGriaiWpns/m/ZIVHG7@471BPgUPjKIn07v71LkZFh2tHZXGuOySHLXBj4ArqqJFpP86S@EtdV4I6OyGOPxTXGx0Di6ND637sLAYVVktYLeGGvt66JbOmuf7qHbV303V4x/qGXTySQQfvqnodPKtqVVc1ue7T8KIkPQMl84wGpIZMzQW8GqndohG/QsDm8f43STr/OthZlsXxEw)
- Test cases:
- ```
- 0 zero
- 1 one
- 4 four
- 10 ten
- 16 sixteen
- 42 forty-two
- 125 one hundred and twenty-five
- 1024 one thousand and twenty-four
- 1100 one thousand one hundred
- 12345 twelve thousand three hundred and forty-five
- 1000000 one million
- 1000001 one million and one
- 7023000 seven million twenty-three thousand
- 11012021 eleven million twelve thousand and twenty-one
- 999999999 nine hundred and ninety-nine million nine hundred and ninety-nine thousand nine hundred and ninety-nine
- ```
- Given a non-negative integer up to $999,999,999$, write it in English.
- The input number can be in any form other than English (though you'll typically want to use the native integer type of your language).
- The numbers must be formatted as follows:
- * Two-digit numbers must be written with dashes where applicable e.g. `twenty-five`, not `twenty five`.
- * powers of ten start with “one”, e.g. `one hundred`, not just `hundred`.
- * The tens/ones part, if not zero, must be separated from the hundreds part with `and`, e.g. `two hundred and five`, not `two hundred five`.
- * The above rules are applied also to the factors of thousand and million.
- * moreover the global tens/ones part has to be separated by `and` whenever *anything* larger is present, even if the hundreds part is missing.
- * Adjacent words must be separated by a single space, or a single dash without space where applicable.
- * Leading and/or trailing spaces are not allowed. However, if the result is printed, a single trailing newline (not preceded by any spaces) is allowed.
- [Ungolfed reference implementation](https://tio.run/##hVTbbtswDH33V3ACCsRoijpO16LZ2h8J@pAudC1AkQtJbusN@/aUoi6xF2/Tg0VR1DkkdeTXwbWdXh@Pe2wA9YuStl3oclMADYO2Vw4eQIiCHbIBDY8PsKp4hKhJZIa4vo5BJVyCgINUSnZa5BOagjVcJKhz/BM4eSP@F5/KaWPEfEk7IIpz7x8JhWyo5t7u9H4@nZCLPeyU0v3B0s4WxE80nViC6DT6yb3zyrUGed10veFZvvHayg@e8A21N1C@tM4bWkYA759UEoZAlc64d1QBzbXSOAxez5Rt2SSTCLPpAdKCiaPtudmGJ2Z2QyyOmLQbMtMQeJJBJEOiGE4EQ4YfMvjgoRm73dnUZU8yvsBvo7uGCihiEr0p5u82wba93htk1CSWrJ7R9hxMvtNtkMMTqyGemBVDRl5MCurMmKrkGriaiWpns/m/ZIVHG7@471BPgUPjKIn07v71LkZFh2tHZXGuOySHLXBj4ArqqJFpP86S@EtdV4I6OyGOPxTXGx0Di6ND637sLAYVVktYLeGGvt66JbOmuf7qHbV303V4x/qGXTySQQfvqnodPKtqVVc1ue7T8KIkPQMl84wGpIZMzQW8GqndohG/QsDm8f43STr/OthZlsXxEw)
- Test cases:
- ```
- 0 zero
- 1 one
- 4 four
- 10 ten
- 16 sixteen
- 42 forty-two
- 125 one hundred and twenty-five
- 1024 one thousand and twenty-four
- 1100 one thousand one hundred
- 12345 twelve thousand three hundred and forty-five
- 1000000 one million
- 1000001 one million and one
- 7023000 seven million twenty-three thousand
- 11012021 eleven million twelve thousand and twenty-one
- 999999999 nine hundred and ninety-nine million nine hundred and ninety-nine thousand nine hundred and ninety-nine
- ```
#1: Initial revision
Convert integer to English
Given a non-negative integer up to $999\\,999\\,999$, write it in English. The input number can be in any form other than English (though you'll typically want to use the native integer type of your language). <s>When there are several variants of writing the number in English, you can choose whichever suits you more. For example, the input $120$ may give the output `one hundred twenty` or `one hundred and twenty`.</s> The numbers must be formatted as follows: * Two-digit numbers must be written with dashes where applicable e.g. `twenty-five`, not `twenty five`. * powers of ten start with “one”, e.g. `one hundred`, not just `hundred`. * The tens/ones part, if not zero, must be separated from the hundreds part with `and`, e.g. `two hundred and five`, not `two hundred five`. * The above rules are applied also to the factors of thousand and million. * moreover the global tens/ones part has bto be separated by `and` whenever *anything* larger is present, even if the hundreds part is missing. * Adjacent words must be separated by a single space, or a single dash without space where applicable. * Leading and/or trailing spaces are not allowed. However, if the result is printed, a single trailing newline (not preceded by any spaces) is allowed. [Ungolfed reference implementation](https://tio.run/##hVTbbtswDH33V3ACCsRoijpO16LZ2h8J@pAudC1AkQtJbusN@/aUoi6xF2/Tg0VR1DkkdeTXwbWdXh@Pe2wA9YuStl3oclMADYO2Vw4eQIiCHbIBDY8PsKp4hKhJZIa4vo5BJVyCgINUSnZa5BOagjVcJKhz/BM4eSP@F5/KaWPEfEk7IIpz7x8JhWyo5t7u9H4@nZCLPeyU0v3B0s4WxE80nViC6DT6yb3zyrUGed10veFZvvHayg@e8A21N1C@tM4bWkYA759UEoZAlc64d1QBzbXSOAxez5Rt2SSTCLPpAdKCiaPtudmGJ2Z2QyyOmLQbMtMQeJJBJEOiGE4EQ4YfMvjgoRm73dnUZU8yvsBvo7uGCihiEr0p5u82wba93htk1CSWrJ7R9hxMvtNtkMMTqyGemBVDRl5MCurMmKrkGriaiWpns/m/ZIVHG7@471BPgUPjKIn07v71LkZFh2tHZXGuOySHLXBj4ArqqJFpP86S@EtdV4I6OyGOPxTXGx0Di6ND637sLAYVVktYLeGGvt66JbOmuf7qHbV303V4x/qGXTySQQfvqnodPKtqVVc1ue7T8KIkPQMl84wGpIZMzQW8GqndohG/QsDm8f43STr/OthZlsXxEw) Test cases: ``` 0 zero 1 one 4 four 10 ten 16 sixteen 42 forty-two 125 one hundred and twenty-five 1024 one thousand and twenty-four 1100 one thousand one hundred 12345 twelve thousand three hundred and forty-five 1000000 one million 1000001 one million and one 7023000 seven million twenty-three thousand 11012021 eleven million twelve thousand and twenty-one 999999999 nine hundred and ninety-nine million nine hundred and ninety-nine thousand nine hundred and ninety-nine ```