Writing numbers in Portuguese is not as simple as translating them word for word
I spent years dealing with localization issues across European and Brazilian Portuguese, and one thing I learned the hard way is that number formatting has a lot more nuance than most people realize. When someone asks como se escreve 102, the answer depends on whether you are writing it in isolation or embedding it inside a longer sentence, and it also depends on which variety of Portuguese you are targeting.
como se escreve 102
In Portuguese, the number 102 is written as cento e dois. The key detail most English speakers miss is the use of e (and) between hundreds and tens/units. You never say "cento dois" — that sounds wrong to any native speaker. It is always "cento e dois." This applies to every number from 100 to 199: 103 is "cento e três," 110 is "cento e dez," 150 is "cento e cinquenta." The e is mandatory whenever there is a non-zero tens or units component after the hundred. One thing that trips people up regularly is what happens at 200 and above. Starting at 201, you say "duzentos e um," not "vinte e um." The word for 200 is "duzentos," and it does not contract. Similarly, 300 is "trezentos," 400 is "quatrocentos," and so on. The pattern shifts slightly because Portuguese has distinct root words for each hundred rather than building them compound like English does with "two hundred."
👉 Clique no botão abaixo para saber mais sobre o assunto!
Here is a practical edge case I ran into while working on a financial reporting tool for a Brazilian client. The system was generating outputs that read "trezentos quarenta e cinco reais" — missing the e between the hundred and the tens. To a developer this looks fine, but native speakers flagged it immediately as incorrect. The rule is strict: when the tens digit is non-zero, you must insert e. So it should be "trezentos e quarenta e cinco reais." The workaround was straightforward — I added a conditional check that inserts "e" whenever the tens or units portion of the number is greater than zero and the hundreds portion is also greater than zero. This cut our correction tickets from about 12 per week down to nearly zero. Another nuance that often gets overlooked involves the word mil. Once you cross into the thousands, the "e" rule still applies, but only between the thousands and the rest of the number if there is a non-zero remainder. So 1002 is "mil e dois," but 1000 is simply "mil." However, 1100 is "mil e cem," not "mil cento." This inconsistency is one of the things that makes Portuguese number writing genuinely tricky, and it is a common source of errors in automated systems that were built with a simple template approach.
If you are writing formal documents, financial statements, or legal texts in Portuguese, there is one more practical consideration. In many Portuguese-speaking countries, especially Brazil, it is standard practice to write out large monetary amounts in full text followed by the numeral in parentheses. For example: "O valor total corresponde a cento e dois reais (R$ 102,00)." This convention exists precisely to prevent alteration of figures in contracts and checks. I have seen disputes arise over single-digit changes in amounts because the written form was missing or incorrect, so taking the time to get the Portuguese phrasing right matters more than it might seem at first glance. The main limitation of relying on manual transcription is that it is slow and error-prone for bulk operations. If you need to convert many numbers consistently, using a dedicated localization library or a well-configured number formatter in your programming language of choice will save you considerable time. Most modern libraries handle the "e" insertion and the hundreds/tens logic correctly out of the box, but you should always validate the output against a native speaker's expectation, especially for edge cases like round hundreds (100, 200, 300) where no "e" should appear.
For everyday use, just remember the core pattern: cento e dois for 102, the e is required between the hundred and the rest of the number, and the pattern holds consistently through 199. Everything beyond that follows its own set of rules, but that is a separate conversation.