Windows calculator can only count to 999



  • On my work laptop, updated by IT whenever they feel like pushing an update, I just noticed that the calculator can no longer display more than 3 digits, and loop between those three whenever I type anything else :wtf: :wtf:

    I type 123 and I see 123. But from there I can type any digit, the display loops between 1, 12, 123.

    That is probably this bug (or this one) but of course in true Windows fashion the only shred of an hint of an answer is basically "update, if that does not work, reinstall, if that does not work, lol your fucked kekekekeke." :wtf: :wtf: :wtf:

    (we recently got updated to 1909 and I didn't notice the issue before, so I assume it's bug in that release so I guess I'll just report it to IT and wait for them to roll-out the next version of Windows... probably in 6 months, or a year... if they or I don't get Covid-fired before...)

    How can you possibly fuck things this way????


  • Notification Spam Recipient

    @remi said in Windows calculator can only count to 999:

    How can you possibly fuck things this way????

    Assuming regional settings for number seperating?



  • @Tsaukpaetra Then I would get 123.456 when I type 123456 (i.e. calculator inserts a , for thousands, which is interpreted as a decimal separator because of the locale).

    Although from the point where such a :wtf:esque bug even exists, any interpretation on what causes it might be the :airquotes:correct:airquotes: one, so... why not? :mlp_shrug:


  • Notification Spam Recipient

    @remi said in Windows calculator can only count to 999:

    @Tsaukpaetra Then I would get 123.456 when I type 123456 (i.e. calculator inserts a , for thousands, which is interpreted as a decimal separator because of the locale).

    Although from the point where such a :wtf:esque bug even exists, any interpretation on what causes it might be the :airquotes:correct:airquotes: one, so... why not? :mlp_shrug:

    Yeah, what I mean is that the formatter gets passed through twice, once with a static region settings that cull out the string starting with the first invalid character.



  • @Tsaukpaetra I had the reverse with a banking app. When transfering money it used 2 fields to enter the amount, one for euros, one for cents. Of course it concatenated the two using a comma (it being Dutch), and subsequently parsed it using the system setting (for which I had set the decimal separator to a dot, to keep me sane), and thus it tried to have me transfer the amount I wanted x100. Luckily I caught it on the verification screen.

    Made a bug report at the bank, got a call from the app developer, and in the end they put the blame on me "Yes, but you use non default windows settings.". Yes, I applied the virtual clue-bat at that remark.


  • Notification Spam Recipient

    @robo2 said in Windows calculator can only count to 999:

    it concatenated the two using a comma

    Makes me wonder if something like this is what caused Etsy to charge people 100x for shipping recently.

    I can just imagine some well-wished change to the regional settings on the server fucking things up.


  • ♿ (Parody)

    @remi said in Windows calculator can only count to 999:

    (we recently got updated to 1909 and I didn't notice the issue before, so I assume it's bug in that release so I guess I'll just report it to IT and wait for them to roll-out the next version of Windows... probably in 6 months, or a year... if they or I don't get Covid-fired before...)

    Can confirm, 1809 here isn't doing this. Remind me after you've updated a couple more times and I might be up to 1909 and I can check.



  • I'm on 1909 and calculator works fine for me.

    Laptop is on 1903(?!?) and works fine.



  • @boomzilla @Benjamin-Hall I think it's linked to the locale, as @Tsaukpaetra said, because I have a non-English locale (at least in part, because I've left the system language to English, but it does use e.g. French number separator in Excel), and both bug reports that I linked in the OP are from non-English users, from the screenshots (the first one is some Eastern European mojibake :tro-pop:, the other is French).

    So I don't think you will ever have the issue on your machines. But thanks for checking anyway.



  • @remi said in Windows calculator can only count to 999:

    So I don't think you will ever have the issue on your machines. But thanks for checking anyway.

    Should be easy enough to check for them, though.



  • @remi said in Windows calculator can only count to 999:

    So I don't think you will ever have the issue on your machines. But thanks for checking anyway.

    I checked on my machine, which is all in 🇫🇷, and I have no(1) problems with Win10 2004.

    (1) This is a lie, but the problems I have do not concern the calculator. Kaspersky Total Security 2019 is almost compatible with it, except that BSODs live inside that word "almost", and this week has been a bit fraught, what with Orange deciding (without telling anyone until after the fact) that they were going to "improve" their side of the ISP network. My Internet access has been flaky as all hell all week, which is ... awkward, let's say, given that I'm still in telework mode... Then again, those problems aren't anything to do with 2004.


  • Discourse touched me in a no-no place

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    My Internet access has been flaky as all hell all week

    Curious. I've been seeing odd problems with my ISP as well (fortunately mostly out of hours; frustrating for shooting aliens, but not lethal for work) and they're normally very stable. The correlation is… interesting. I'm wondering if there's some nasty hack that's been found and all the big ISPs are dashing to try to patch it (or at least get in workarounds) before things go public, which would explain why nobody's talking about it. Keeping stumm about something like that while trying to roll out the mitigations is a smart plan…


  • BINNED

    @remi said in Windows calculator can only count to 999:

    That is probably this bug

    I love how the accepted answer is basically "I'm an awesome MVP. :womm:, so just update."

    How can you possibly fuck things this way????

    My guess would be it's just a display bug and the internal number is still correct. E.g. somebody fucked up some layouting and the text component thinks it only has enough space to display 3 digits, then whenever you type more the viewport scrolls in a WTFy way.
    Your theory about it being locale dependent could still be just a display issue, then it'd truncate the display every time the text is updated by the theorized fucked-up thousands separator conversion.

    An easy way to test this theory is to type in 16000, which should display as 16 and then pressing sqrt. Should come out as either 4 or, well, something else.



  • @dkf said in Windows calculator can only count to 999:

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    My Internet access has been flaky as all hell all week

    Curious. I've been seeing odd problems with my ISP as well (fortunately mostly out of hours; frustrating for shooting aliens, but not lethal for work) and they're normally very stable. The correlation is… interesting. I'm wondering if there's some nasty hack that's been found and all the big ISPs are dashing to try to patch it (or at least get in workarounds) before things go public, which would explain why nobody's talking about it. Keeping stumm about something like that while trying to roll out the mitigations is a smart plan…

    Possibly, although I just had another complete break, with a no-link state on the fibre, and now it appears to be back in completely normal service again (even though at one point, the LED panel on the front of my routerbox was telling me that my credentials weren't recognised by the authentication server 😡 ). We'll see how it goes, I guess.



  • @topspin
    0d2f1604-6b3a-4acf-b302-56eff7b37cdd-image.png

    Note how in the top right corner it knows that I typed 16000, not the 16 that I see displayed after having punched those digits. But then it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    @Steve_The_Cynic Your test tends to indicate that the bug is gone in 2004, so I just have to hope IT will think about updating at some point before the company goes bust.



  • @remi said in Windows calculator can only count to 999:

    Note how in the top right corner it knows that I typed 16000, not the 16 that I see displayed after having punched those digits. But then it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    Well, I just asked the calculator app on my iPhone about sqrt(16000) and it said 126,4911064067352 so maybe that really is the right answer. Side note: sqrt(16000) == sqrt(160)*10 == sqrt(10)*4*10 and sqrt(10) is a hair over 3, so 3.small*4*10 => 126.gobble sounds reasonable.

    @Steve_The_Cynic Your test tends to indicate that the bug is gone in 2004, so I just have to hope IT will think about updating at some point before the company goes bust.

    I don't think there's much risk of Microsoft going bust that soon. Oh, wait, no, you meant your company... :trollface:


  • Banned

    @topspin said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    That is probably this bug

    I love how the accepted answer is basically "I'm anawesome MVP. :womm:, so just update."

    I've seen it on every MS Answers question ever. I suspect they pay people to copy-paste the same troubleshooting guide everywhere and self-mark as accepted. I mean, how else do you explain that so many people found that useful?



  • @Steve_The_Cynic said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    Note how in the top right corner it knows that I typed 16000, not the 16 that I see displayed after having punched those digits. But then it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    Well, I just asked the calculator app on my iPhone about sqrt(16000) and it said 126,4911064067352 so maybe that really is the right answer.

    Oh, yeah, I haz a dumb :facepalm:

    (sqrt(160) is 12.65..., sqrt(16000) is 126.49... so not quite the same)

    Though I do remember that I tried another operation and the result was nowhere correct. Like this:
    e580bf0f-5911-46d6-8f70-ae2b528be15c-image.png

    Yes, Windows, 16 bazillions something times 3 is equal to 4. :facepalm: I guess you could puzzle out which digits it did consider (I started from a previous state of the previous state, but I can't remember which one exactly) and how it multiplied and truncated to get to the answer, but really, I have more important things to do.


  • Banned

    @remi said in Windows calculator can only count to 999:

    I have a non-English locale (at least in part, because I've left the system language to English, but it does use e.g. French number separator in Excel)

    I think this burger-frog hybrid you have might be important. It's very possible the calculator gets separator data from two different sources, and the mismatch causes things to go wrong. It might work perfectly fine on all-French Windows. By which I mean, @Steve_The_Cynic's experience shouldn't give you any hope that an update will help.



  • @Gąska Could be, although one of the two links in the OP seems to be a fully-French machine (at least UI is entirely in French, contrary to mine). Also I have enough Excel spreadsheets that I work with or that get passed around that I can't trust Microsoft to not mess them up if I were to change my locale settings (I mean, case in point is the bug discussed here: if they fucked up that, I'm not going to trust them to not fuck up a huge spreadsheet with complicated formulas).

    To be honest, at this point and with a bug this dumb, I am not trying to predict anything both in terms of cause, effect, and date of fix.

    I'll report it to my IT for the lulz but I don't expect anything out of it either (even assuming they manage to reproduce it, I don't see why that would be enough to move forward a corporate IT that only updated us to 1909 at the beginning of this month!). Then I'll classify this as "don't use Windows calculator" and forget about it.



  • @remi said in Windows calculator can only count to 999:

    don't use Windows calculator

    FTFY


  • Banned

    @HardwareGeek operating systems are like presidential candidates. I'd very gladly stop using Windows, but the alternatives are even worse.


  • Notification Spam Recipient

    @dkf said in Windows calculator can only count to 999:

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    My Internet access has been flaky as all hell all week

    Curious. I've been seeing odd problems with my ISP as well (fortunately mostly out of hours; frustrating for shooting aliens, but not lethal for work) and they're normally very stable. The correlation is… interesting. I'm wondering if there's some nasty hack that's been found and all the big ISPs are dashing to try to patch it (or at least get in workarounds) before things go public, which would explain why nobody's talking about it. Keeping stumm about something like that while trying to roll out the mitigations is a smart plan…

    Remember when the global routing table (I think) became too large for system RAM and crashed the backbone routers?



  • @remi said in Windows calculator can only count to 999:

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    Note how in the top right corner it knows that I typed 16000, not the 16 that I see displayed after having punched those digits. But then it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    Well, I just asked the calculator app on my iPhone about sqrt(16000) and it said 126,4911064067352 so maybe that really is the right answer.

    Oh, yeah, I haz a dumb :facepalm:

    (sqrt(160) is 12.65..., sqrt(16000) is 126.49... so not quite the same)

    Though I do remember that I tried another operation and the result was nowhere correct. Like this:
    e580bf0f-5911-46d6-8f70-ae2b528be15c-image.png

    Yes, Windows, 16 bazillions something times 3 is equal to 4. :facepalm: I guess you could puzzle out which digits it did consider (I started from a previous state of the previous state, but I can't remember which one exactly) and how it multiplied and truncated to get to the answer, but really, I have more important things to do.

    It's actually 1.6 bazillions, which gives "4 800 (etc)" when multiplied by 3, and you're losing everything after the first space.

    EDIT: and no, that doesn't make it less :facepalm: ...



  • @remi said in Windows calculator can only count to 999:

    @Gąska Could be, although one of the two links in the OP seems to be a fully-French machine (at least UI is entirely in French, contrary to mine). Also I have enough Excel spreadsheets that I work with or that get passed around that I can't trust Microsoft to not mess them up if I were to change my locale settings (I mean, case in point is the bug discussed here: if they fucked up that, I'm not going to trust them to not fuck up a huge spreadsheet with complicated formulas).

    Excel is actually pretty good about using the right locale settings(1), I think, and it definitely knows how to handle a sheet saved in one language and loaded in another.

    (1) Specifically the distinction between the system locale and the user locale and the user's personalised override of the user locale's settings. Fortunately for my use of calc.exe, for me, all three are the same...


  • Discourse touched me in a no-no place

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    Possibly, although I just had another complete break, with a no-link state on the fibre, and now it appears to be back in completely normal service again

    That sounds eerily familiar to my experience. There's also been the odd report made it into the press (but mostly of the “there's hundreds of people without service!!!” and there's been just the usual ultra-bland assurances. If it was just me, or just one ISP, it'd be a nothing-burger of a story, but when it's showing up in multiple organisations in multiple countries at nearly the same time it begins to trigger the correlation-checks. Could be nothing much, or could be something real and large that we're just seeing the wake of…


  • BINNED

    @remi said in Windows calculator can only count to 999:

    Yes, Windows, 16 bazillions something times 3 is equal to 4. :facepalm: I guess you could puzzle out which digits it did consider (I started from a previous state of the previous state, but I can't remember which one exactly) and how it multiplied and truncated to get to the answer, but really, I have more important things to do.

    The idea of my test was to use some number with more than 3 digits and produce a result that does fit inside 3 digits to figure out at which level it gets truncated. So depending on whether 16,000 gets treated as 16 internally or only for display, the result would be either sqrt(16) = 4, which I correctly assumed it doesn't, or sqrt(16000) = 126.4911.... I would've guessed it only displays that as 126 because of the display bug, but apparently that affects thousands separators only, not decimals.
    So it's not actually surprising that "huge number * 3" is displayed as something with anywhere between 1 and 3 digits.



  • @boomzilla said in Windows calculator can only count to 999:

    1809
    1909

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    2004

    @remi said in Windows calculator can only count to 999:

    2004

    Am I the only one who keeps reading these version numbers as years, and think, “It’s not that old …” before realising they’re not?



  • @remi said in Windows calculator can only count to 999:

    it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    Well, √16000 = √(160 × 100) = √160 × √100, isn’t it?

    @remi (and not @Steve_The_Cynic) said in Windows calculator can only count to 999:

    (sqrt(160) is 12.65..., sqrt(16000) is 126.49... so not quite the same)

    Um:

    sqrt(160).png
    sqrt(16000).png


  • BINNED

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    @Gąska Could be, although one of the two links in the OP seems to be a fully-French machine (at least UI is entirely in French, contrary to mine). Also I have enough Excel spreadsheets that I work with or that get passed around that I can't trust Microsoft to not mess them up if I were to change my locale settings (I mean, case in point is the bug discussed here: if they fucked up that, I'm not going to trust them to not fuck up a huge spreadsheet with complicated formulas).

    Excel is actually pretty good about using the right locale settings(1), I think, and it definitely knows how to handle a sheet saved in one language and loaded in another.

    Except when I think that it shouldn’t be using the locale at all!
    When someone sends me a CSV file with some data, I don’t want the meaning of that data to change depending on what settings I use. The files I receive should be in C locale, and the ones I write too. Anything else is madnessExcel.



  • @Gurth said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    it decides that sqrt(16000) is indeed 126.something, which I don't know where you got that from? (it's sqrt(160)*10 but how did you guess it would do that?)

    Well, √16000 = √(160 × 100) = √160 × √100, isn’t it?

    @remi said in Windows calculator can only count to 999:

    @Steve_The_Cynic said in Windows calculator can only count to 999:
    (sqrt(160) is 12.65..., sqrt(16000) is 126.49... so not quite the same)

    Excuse me. Remi didn't say that I said that, and I didn't say that. Please be careful about how you quote people...



  • @topspin said in Windows calculator can only count to 999:

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    @remi said in Windows calculator can only count to 999:

    @Gąska Could be, although one of the two links in the OP seems to be a fully-French machine (at least UI is entirely in French, contrary to mine). Also I have enough Excel spreadsheets that I work with or that get passed around that I can't trust Microsoft to not mess them up if I were to change my locale settings (I mean, case in point is the bug discussed here: if they fucked up that, I'm not going to trust them to not fuck up a huge spreadsheet with complicated formulas).

    Excel is actually pretty good about using the right locale settings(1), I think, and it definitely knows how to handle a sheet saved in one language and loaded in another.

    Except when I think that it shouldn’t be using the locale at all!
    When someone sends me a CSV file with some data, I don’t want the meaning of that data to change depending on what settings I use. The files I receive should be in C locale, and the ones I write too. Anything else is madnessExcel.

    Yes, the CSV writer and reader should not use the user's locale. Too late now, I guess. Probably it's one of those errors someone made long ago, and the Curse of Backwards Compatibility means that nobody dares get rid of it. There are a few edge cases where there's no way to tell what the correct interpretation of a CSV file is. Look at this user-locale CSV export from 🇫🇷 Excel of a single column of fractional values, or is it a new-style export of two columns of integers from C-locale Excel?

    4,27
    3,5
    4,6
    

    OK, yes, that's a problem now, if I export one column from my 🇫🇷 Excel and you try to import it in to your 🇺🇸 or 🇬🇧 Excel (or vice versa) but at least my colleague who also has 🇫🇷 Excel can correctly import the file that I exported.



  • @Steve_The_Cynic said in Windows calculator can only count to 999:

    Excuse me. Remi didn't say that I said that, and I didn't say that. Please be careful about how you quote people...

    You’re right, sorry about that. Made a bit of a mistake snipping stuff out.


  • Discourse touched me in a no-no place

    @Steve_The_Cynic said in Windows calculator can only count to 999:

    Look at this user-locale CSV export from 🇫🇷 Excel of a single column of fractional values, or is it a new-style export of two columns of integers from C-locale Excel?

    That's why CSV should use tabs, not commas. (I guess that an ASCII US character would be even more correct, but nobody supports those.)



  • @topspin Excel has always made loading CSV files unnecessarily hard.

    Surely that's just incompetence, and not a deliberate decision to keep a simple, open standard from displacing .xlsx as the standard for sending simple spreadsheets. Yeah. Just good old Microsoft stupidity lol!!



  • @anonymous234 said in Windows calculator can only count to 999:

    @topspin Excel has always made loading CSV files unnecessarily hard.

    Surely that's just incompetence, and not a deliberate decision to keep a simple, open standard from displacing .xlsx as the standard for sending simple spreadsheets. Yeah. Just good old Microsoft stupidity lol!!

    Except that it isn't any kind of standard, open or closed. Even RFC 4180 is only informational, and explicitly documents the lack of official standards.


  • :belt_onion:

    @Gurth said in Windows calculator can only count to 999:

    Am I the only one who keeps reading these version numbers as years, and think, “It’s not that old …” before realising they’re not?

    No



  • @Steve_The_Cynic A limited, de facto standard is still a standard. Use double quotes to indicate strings, and periods as decimal separators, and it works everywhere (except in Excel).

    I don't care what the IETF says. They're the ones responsible for this mess.



  • @Gurth @sloosecannon I keep expecting an "fbmac separator" between posts...



  • Note quite the same bug, but I'm posting in the same thread because threads are free:kneeling_warthog:.

    A program runs in a console, and prints some progress information. At the end, it prints Done on <date>, total duration: <length>. Given what I've said about my system (French install of Windows, but system language is set to en-UK), can you guess what the message looks like?

    .
    .
    .

    If you thought something like Done on ven. août 14, 14:36:00 [...] (Friday, August 14th), you're on the right track.

    Note that no date is ever written in French as août 14 (it would always be 14 août), but that one comes from the format specified in the code that prints the date ("ddd MMMM d" which in Qt lingo means [abbreviated localized day name] [long localized month name] [day as a number without a leading zero]. Don't ask me why we picked that rather than any of the standard formats. :kermit_flail:

    But wait, there is more!

    Why do you think I'm posting this in this thread?

    Some more localisation failure, perhaps... Yes, but what do you think it looks like?

    .
    .
    .

    Go on, have a guess...

    .
    .
    .

    d8c859d4-3557-495e-8d93-a3946dac0ecc-image.png

    What, I hear you say, this looks right... Oh wait... zoom, enhance...

    Yes, that's right: ao√t. The û has been turned into U+221A (square root).

    How... what... it's... there is no word... :headdesk:



  • @remi Simple enough to explain this one - û is ANSI 251, the Windows command prompt until quite recently defaulted to code page 437, and in that code page, code point 251 is the square root sign.



  • @bobjanova Oh. That's a depressingly sane and believable explanation. So just a minor Windows :wtf:, then.


  • Java Dev

    @bobjanova said in Windows calculator can only count to 999:

    @remi Simple enough to explain this one - û is ANSI 251, the Windows command prompt until quite recently defaulted to code page 437, and in that code page, code point 251 is the square root sign.

    Welcome to the millenium of unicode.



  • @PleegWat said in Windows calculator can only count to 999:

    @bobjanova said in Windows calculator can only count to 999:

    @remi Simple enough to explain this one - û is ANSI 251, the Windows command prompt until quite recently defaulted to code page 437, and in that code page, code point 251 is the square root sign.

    Welcome to the millenium of unicode.

    The Millennium Of Unicode On The Desktop! A thousand times better than the Year Of That Other Thing, What’s It Again? Didn’t It Have A Penguin? On The Desktop!



  • @PleegWat said in Windows calculator can only count to 999:

    @bobjanova said in Windows calculator can only count to 999:

    @remi Simple enough to explain this one - û is ANSI 251, the Windows command prompt until quite recently defaulted to code page 437, and in that code page, code point 251 is the square root sign.

    Welcome to the millenium of unicode.

    It will never happen. Backwards compatibility rules!



  • @remi let's suppose the :kneeling_warthog: is weak today: this hypothesis can be tested. If you change the codepage of your console before running the utility it might actually show the û you hoped for.

    REM show current codepage
    chcp
    REM Change to Windows-1252
    chcp 1252
    REM do your thing...
    sillyCultureSemiAwareUtility.exe
    

  • Banned

    @robo2 actually, I think there's more at play here than just Unicode getting garbled. If Unicode was garbled, there would be TWO nonsensical characters, not one (BMP characters above 127 are encoded with two bytes in UTF-8).



  • That's a well-known problem with the Windows console. It uses DOS code page 437, not Windows-1252 (much less Unicode) ; it doesn't matter for US ASCII, but accented characters are mapped differently.

    Solving this problem is harder than it looks ; I looked into it once and couldn't find anything that worked (and eventually thought ":kneeling_warthog:"). Maybe they improved things in Win10 ; I was using Win7.



  • @Zerosquare yeah, the point is that with chcp you can change the code page to change how those single bytes are displayed. With codepages 65000 or 65001 you can specify utf16 and utf18 as well, so the console does support multibyte character sets if you want. Off course the default is 437 because backwards compatibility, or something.



  • @robo2 said in Windows calculator can only count to 999:

    because backwards compatibility, or something.

    Windows: Doing things backwards since 1983


Log in to reply