## [05-25-2019]

Blame Quintushalls for this.

Moderators: NeatNit, Kimra

AlixeTiir
Posts: 89
Joined: Sat Sep 27, 2014 2:51 am

### [05-25-2019]

Don't you mean 4,291st?

Christina
Posts: 2
Joined: Wed Jan 23, 2019 7:32 pm

### Re: [05-25-2019]

That's a bug in the programming. The programmer must not have foreseen figures above 20, so he must have placed "st" for 1, "nd" for 2, "rd" for 3, and "th" elsewhere.

AlixeTiir
Posts: 89
Joined: Sat Sep 27, 2014 2:51 am

### Re: [05-25-2019]

Christina wrote:The programmer must not have foreseen figures above 20, so he must have placed "st" for 1, "nd" for 2, "rd" for 3, and "th" elsewhere.
that's the most depressing developer oversight I have ever seen. And I've played games from Bethesda Softworks.

NeatNit
[Insert Here]
Posts: 207
Joined: Sat Sep 23, 2017 9:23 pm

### Re: [05-25-2019]

To be honest, as a programmer, code for choosing the correct ordinal suffix is one of the most annoying things to write. It's not particularly difficult or anything like that, it's just a lot of ugly if statements. And needles to say, it's language-dependant (i.e. English only), so if you're making a program that supports multiple languages it can get a lot messier.

Just look at the rules for it in plain English (in the order I find intuitive, not in the order they would appear in code):
1. If the last digit is 1, it's "st".
2. If the last digit is 2, it's "nd".
3. if the last digit is 3, it's "rd".
4. If the last digit is anything else, it's "th".
5. If the second-to-last digit is 1, it's "th" even if the last digit is 1, 2 or 3.

It's just gross. The code would be full of magic numbers (and strings for that matter), and requires a ridiculous amount of code and edge case compared to the relatively trivial goal - just two lousy letters.

AlixeTiir
Posts: 89
Joined: Sat Sep 27, 2014 2:51 am

### Re: [05-25-2019]

NeatNit wrote:To be honest, as a programmer, code for choosing the correct ordinal suffix is one of the most annoying things to write. It's not particularly difficult or anything like that, it's just a lot of ugly if statements. And needles to say, it's language-dependant (i.e. English only), so if you're making a program that supports multiple languages it can get a lot messier.

Just look at the rules for it in plain English (in the order I find intuitive, not in the order they would appear in code):
1. If the last digit is 1, it's "st".
2. If the last digit is 2, it's "nd".
3. if the last digit is 3, it's "rd".
4. If the last digit is anything else, it's "th".
5. If the second-to-last digit is 1, it's "th" even if the last digit is 1, 2 or 3.

It's just gross. The code would be full of magic numbers (and strings for that matter), and requires a ridiculous amount of code and edge case compared to the relatively trivial goal - just two lousy letters.
sounds like it would be much easier if we all switched to the number neutral ordinal suffix I just invented now: "xd"