Python doesn't use decimal point separator in 'Region and language'











up vote
1
down vote

favorite












If I open the 'Region and language' dialog, I have 'Formats' set to 'Germany'. If I click that setting, the 'Numbers' preview is '123.456.789,00' (comma as a decimal separator).



But if I run python3 -c 'import locale; print(locale.localeconv()["decimal_point"])', it outputs . (a dot, not a comma).



How can I get the decimal point as configured by the user in the 'Region and language' dialog?










share|improve this question




























    up vote
    1
    down vote

    favorite












    If I open the 'Region and language' dialog, I have 'Formats' set to 'Germany'. If I click that setting, the 'Numbers' preview is '123.456.789,00' (comma as a decimal separator).



    But if I run python3 -c 'import locale; print(locale.localeconv()["decimal_point"])', it outputs . (a dot, not a comma).



    How can I get the decimal point as configured by the user in the 'Region and language' dialog?










    share|improve this question


























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      If I open the 'Region and language' dialog, I have 'Formats' set to 'Germany'. If I click that setting, the 'Numbers' preview is '123.456.789,00' (comma as a decimal separator).



      But if I run python3 -c 'import locale; print(locale.localeconv()["decimal_point"])', it outputs . (a dot, not a comma).



      How can I get the decimal point as configured by the user in the 'Region and language' dialog?










      share|improve this question















      If I open the 'Region and language' dialog, I have 'Formats' set to 'Germany'. If I click that setting, the 'Numbers' preview is '123.456.789,00' (comma as a decimal separator).



      But if I run python3 -c 'import locale; print(locale.localeconv()["decimal_point"])', it outputs . (a dot, not a comma).



      How can I get the decimal point as configured by the user in the 'Region and language' dialog?







      python system-settings internationalization gettext






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 26 at 16:08









      wjandrea

      7,96042258




      7,96042258










      asked Nov 26 at 15:58









      Janus Troelsen

      2,1141620




      2,1141620






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          You need to run locale.setlocale() too.



          python3 -c 'import locale; locale.setlocale(locale.LC_ALL, ""); print(locale.localeconv()["decimal_point"])'





          share|improve this answer





















          • This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
            – Janus Troelsen
            Nov 26 at 20:31










          • @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
            – Gunnar Hjalmarsson
            Nov 26 at 21:00











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "89"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1096218%2fpython-doesnt-use-decimal-point-separator-in-region-and-language%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          You need to run locale.setlocale() too.



          python3 -c 'import locale; locale.setlocale(locale.LC_ALL, ""); print(locale.localeconv()["decimal_point"])'





          share|improve this answer





















          • This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
            – Janus Troelsen
            Nov 26 at 20:31










          • @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
            – Gunnar Hjalmarsson
            Nov 26 at 21:00















          up vote
          1
          down vote



          accepted










          You need to run locale.setlocale() too.



          python3 -c 'import locale; locale.setlocale(locale.LC_ALL, ""); print(locale.localeconv()["decimal_point"])'





          share|improve this answer





















          • This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
            – Janus Troelsen
            Nov 26 at 20:31










          • @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
            – Gunnar Hjalmarsson
            Nov 26 at 21:00













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          You need to run locale.setlocale() too.



          python3 -c 'import locale; locale.setlocale(locale.LC_ALL, ""); print(locale.localeconv()["decimal_point"])'





          share|improve this answer












          You need to run locale.setlocale() too.



          python3 -c 'import locale; locale.setlocale(locale.LC_ALL, ""); print(locale.localeconv()["decimal_point"])'






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 26 at 17:31









          Gunnar Hjalmarsson

          18.8k23261




          18.8k23261












          • This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
            – Janus Troelsen
            Nov 26 at 20:31










          • @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
            – Gunnar Hjalmarsson
            Nov 26 at 21:00


















          • This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
            – Janus Troelsen
            Nov 26 at 20:31










          • @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
            – Gunnar Hjalmarsson
            Nov 26 at 21:00
















          This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
          – Janus Troelsen
          Nov 26 at 20:31




          This simply adopts whatever is in LC_ALL. On my system, somehow all the variables reported by locale are not de_DE even though Germany is selected as mentioned.
          – Janus Troelsen
          Nov 26 at 20:31












          @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
          – Gunnar Hjalmarsson
          Nov 26 at 21:00




          @JanusTroelsen: No, it imports all the locale categories which are currently effective (i.e. in accordance with the output of the locale command). If you switched to German as Format in the current session, you need to relogin to have the LC_NUMERIC variable (which affects the decimal separator) updated.
          – Gunnar Hjalmarsson
          Nov 26 at 21:00


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1096218%2fpython-doesnt-use-decimal-point-separator-in-region-and-language%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How did Captain America manage to do this?

          迪纳利

          南乌拉尔铁路局