Convert decimal to percentage value












2














How can I convert a given decimal into the respective percentage value with a certain amount of positions q after the comma? The percentage should be rounded with respect to q+1.



For example, I am looking for something like




percentage[position after the comma]{given decimal}




that produces:



percentage[positions-after-comma = 2]{0.12123456}: 12.12% 
percentage[positions-after-comma = 4]{0.12123456}: 12.1235%
percentage[positions-after-comma = 4]{2.12123456}: 212.1235%
percentage[positions-after-comma = 1]{0.6789}: 67.9%
percentage[positions-after-comma = 5]{0.6789}: 67.89000%









share|improve this question





























    2














    How can I convert a given decimal into the respective percentage value with a certain amount of positions q after the comma? The percentage should be rounded with respect to q+1.



    For example, I am looking for something like




    percentage[position after the comma]{given decimal}




    that produces:



    percentage[positions-after-comma = 2]{0.12123456}: 12.12% 
    percentage[positions-after-comma = 4]{0.12123456}: 12.1235%
    percentage[positions-after-comma = 4]{2.12123456}: 212.1235%
    percentage[positions-after-comma = 1]{0.6789}: 67.9%
    percentage[positions-after-comma = 5]{0.6789}: 67.89000%









    share|improve this question



























      2












      2








      2







      How can I convert a given decimal into the respective percentage value with a certain amount of positions q after the comma? The percentage should be rounded with respect to q+1.



      For example, I am looking for something like




      percentage[position after the comma]{given decimal}




      that produces:



      percentage[positions-after-comma = 2]{0.12123456}: 12.12% 
      percentage[positions-after-comma = 4]{0.12123456}: 12.1235%
      percentage[positions-after-comma = 4]{2.12123456}: 212.1235%
      percentage[positions-after-comma = 1]{0.6789}: 67.9%
      percentage[positions-after-comma = 5]{0.6789}: 67.89000%









      share|improve this question















      How can I convert a given decimal into the respective percentage value with a certain amount of positions q after the comma? The percentage should be rounded with respect to q+1.



      For example, I am looking for something like




      percentage[position after the comma]{given decimal}




      that produces:



      percentage[positions-after-comma = 2]{0.12123456}: 12.12% 
      percentage[positions-after-comma = 4]{0.12123456}: 12.1235%
      percentage[positions-after-comma = 4]{2.12123456}: 212.1235%
      percentage[positions-after-comma = 1]{0.6789}: 67.9%
      percentage[positions-after-comma = 5]{0.6789}: 67.89000%






      decimal-number percentage






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 3 hours ago

























      asked 3 hours ago









      BJPrim

      426




      426






















          2 Answers
          2






          active

          oldest

          votes


















          4














          You can use the siunitx package:



          documentclass{article}

          usepackage{siunitx}

          newcommandpercentage[2][round-precision = 2]{% default precision: 2
          SI[round-mode = places,
          scientific-notation = fixed, fixed-exponent = 0,
          output-decimal-marker={.}, #1]{#2e2}{percent}%
          }

          begin{document}

          percentage{0.123456} % -> 12.35 %
          percentage[round-precision = 3]{0.123456} % -> 12.345 %

          end{document}





          share|improve this answer










          New contributor




          zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.


























            2














            Your values looks wrong. But beside this:



            documentclass{article}
            usepackage{xfp,xparse}
            ExplSyntaxOn
            int_new:Nl_bjprim_round_int
            keys_define:nn {bjprim}
            {
            positions-after-comma .int_set:N = l_bjprim_round_int
            }

            NewDocumentCommandpercentage { O{} m }
            {
            keys_set:nn {bjprim}{positions-after-comma=2,#1}
            fpeval{round(#2*100,l_bjprim_round_int)}%
            }
            ExplSyntaxOff
            begin{document}


            percentage[positions-after-comma = 2]{0.123456}: 12.12%

            percentage[positions-after-comma = 4]{0.123456}: 12.1235%

            percentage[positions-after-comma = 4]{2.123456}: 212.1235%

            percentage[positions-after-comma = 1]{0.6789}: 67.9%

            percentage[positions-after-comma = 5]{0.6789}: 67.89000%

            end{document}


            If you really want to fill up with zeros you could round with siunitx:



            documentclass{article}
            usepackage{xfp,xparse,siunitx}
            ExplSyntaxOn
            int_new:Nl_bjprim_round_int
            keys_define:nn {bjprim}
            {
            positions-after-comma .int_set:N = l_bjprim_round_int
            }

            NewDocumentCommandpercentage { O{} m }
            {
            keys_set:nn {bjprim}{positions-after-comma=2,#1}
            num[round-mode = places,round-precision=l_bjprim_round_int]{fpeval{#2*100}}%
            }
            ExplSyntaxOff
            begin{document}


            percentage[positions-after-comma = 2]{0.123456}: 12.12%

            percentage[positions-after-comma = 4]{0.123456}: 12.1235%

            percentage[positions-after-comma = 4]{2.123456}: 212.1235%

            percentage[positions-after-comma = 1]{0.6789}: 67.9%

            percentage[positions-after-comma = 5]{0.6789}: 67.89000%

            end{document}


            enter image description here






            share|improve this answer























            • This way the optional argument is actually mandatory.
              – egreg
              2 hours ago










            • @egreg thanks, I changed to O{}.
              – Ulrike Fischer
              2 hours ago










            • I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
              – BJPrim
              2 hours ago










            • That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
              – egreg
              2 hours ago






            • 1




              You can remove xfp and replace fpeval by fp_eval:n.
              – Ulrike Fischer
              2 hours ago











            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "85"
            };
            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',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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%2ftex.stackexchange.com%2fquestions%2f468597%2fconvert-decimal-to-percentage-value%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            You can use the siunitx package:



            documentclass{article}

            usepackage{siunitx}

            newcommandpercentage[2][round-precision = 2]{% default precision: 2
            SI[round-mode = places,
            scientific-notation = fixed, fixed-exponent = 0,
            output-decimal-marker={.}, #1]{#2e2}{percent}%
            }

            begin{document}

            percentage{0.123456} % -> 12.35 %
            percentage[round-precision = 3]{0.123456} % -> 12.345 %

            end{document}





            share|improve this answer










            New contributor




            zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.























              4














              You can use the siunitx package:



              documentclass{article}

              usepackage{siunitx}

              newcommandpercentage[2][round-precision = 2]{% default precision: 2
              SI[round-mode = places,
              scientific-notation = fixed, fixed-exponent = 0,
              output-decimal-marker={.}, #1]{#2e2}{percent}%
              }

              begin{document}

              percentage{0.123456} % -> 12.35 %
              percentage[round-precision = 3]{0.123456} % -> 12.345 %

              end{document}





              share|improve this answer










              New contributor




              zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.





















                4












                4








                4






                You can use the siunitx package:



                documentclass{article}

                usepackage{siunitx}

                newcommandpercentage[2][round-precision = 2]{% default precision: 2
                SI[round-mode = places,
                scientific-notation = fixed, fixed-exponent = 0,
                output-decimal-marker={.}, #1]{#2e2}{percent}%
                }

                begin{document}

                percentage{0.123456} % -> 12.35 %
                percentage[round-precision = 3]{0.123456} % -> 12.345 %

                end{document}





                share|improve this answer










                New contributor




                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                You can use the siunitx package:



                documentclass{article}

                usepackage{siunitx}

                newcommandpercentage[2][round-precision = 2]{% default precision: 2
                SI[round-mode = places,
                scientific-notation = fixed, fixed-exponent = 0,
                output-decimal-marker={.}, #1]{#2e2}{percent}%
                }

                begin{document}

                percentage{0.123456} % -> 12.35 %
                percentage[round-precision = 3]{0.123456} % -> 12.345 %

                end{document}






                share|improve this answer










                New contributor




                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                share|improve this answer



                share|improve this answer








                edited 2 hours ago





















                New contributor




                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                answered 3 hours ago









                zetaeffe

                1315




                1315




                New contributor




                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.





                New contributor





                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






                zetaeffe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.























                    2














                    Your values looks wrong. But beside this:



                    documentclass{article}
                    usepackage{xfp,xparse}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    fpeval{round(#2*100,l_bjprim_round_int)}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    If you really want to fill up with zeros you could round with siunitx:



                    documentclass{article}
                    usepackage{xfp,xparse,siunitx}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    num[round-mode = places,round-precision=l_bjprim_round_int]{fpeval{#2*100}}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    enter image description here






                    share|improve this answer























                    • This way the optional argument is actually mandatory.
                      – egreg
                      2 hours ago










                    • @egreg thanks, I changed to O{}.
                      – Ulrike Fischer
                      2 hours ago










                    • I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                      – BJPrim
                      2 hours ago










                    • That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                      – egreg
                      2 hours ago






                    • 1




                      You can remove xfp and replace fpeval by fp_eval:n.
                      – Ulrike Fischer
                      2 hours ago
















                    2














                    Your values looks wrong. But beside this:



                    documentclass{article}
                    usepackage{xfp,xparse}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    fpeval{round(#2*100,l_bjprim_round_int)}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    If you really want to fill up with zeros you could round with siunitx:



                    documentclass{article}
                    usepackage{xfp,xparse,siunitx}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    num[round-mode = places,round-precision=l_bjprim_round_int]{fpeval{#2*100}}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    enter image description here






                    share|improve this answer























                    • This way the optional argument is actually mandatory.
                      – egreg
                      2 hours ago










                    • @egreg thanks, I changed to O{}.
                      – Ulrike Fischer
                      2 hours ago










                    • I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                      – BJPrim
                      2 hours ago










                    • That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                      – egreg
                      2 hours ago






                    • 1




                      You can remove xfp and replace fpeval by fp_eval:n.
                      – Ulrike Fischer
                      2 hours ago














                    2












                    2








                    2






                    Your values looks wrong. But beside this:



                    documentclass{article}
                    usepackage{xfp,xparse}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    fpeval{round(#2*100,l_bjprim_round_int)}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    If you really want to fill up with zeros you could round with siunitx:



                    documentclass{article}
                    usepackage{xfp,xparse,siunitx}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    num[round-mode = places,round-precision=l_bjprim_round_int]{fpeval{#2*100}}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    enter image description here






                    share|improve this answer














                    Your values looks wrong. But beside this:



                    documentclass{article}
                    usepackage{xfp,xparse}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    fpeval{round(#2*100,l_bjprim_round_int)}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    If you really want to fill up with zeros you could round with siunitx:



                    documentclass{article}
                    usepackage{xfp,xparse,siunitx}
                    ExplSyntaxOn
                    int_new:Nl_bjprim_round_int
                    keys_define:nn {bjprim}
                    {
                    positions-after-comma .int_set:N = l_bjprim_round_int
                    }

                    NewDocumentCommandpercentage { O{} m }
                    {
                    keys_set:nn {bjprim}{positions-after-comma=2,#1}
                    num[round-mode = places,round-precision=l_bjprim_round_int]{fpeval{#2*100}}%
                    }
                    ExplSyntaxOff
                    begin{document}


                    percentage[positions-after-comma = 2]{0.123456}: 12.12%

                    percentage[positions-after-comma = 4]{0.123456}: 12.1235%

                    percentage[positions-after-comma = 4]{2.123456}: 212.1235%

                    percentage[positions-after-comma = 1]{0.6789}: 67.9%

                    percentage[positions-after-comma = 5]{0.6789}: 67.89000%

                    end{document}


                    enter image description here







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 2 hours ago

























                    answered 3 hours ago









                    Ulrike Fischer

                    187k7290670




                    187k7290670












                    • This way the optional argument is actually mandatory.
                      – egreg
                      2 hours ago










                    • @egreg thanks, I changed to O{}.
                      – Ulrike Fischer
                      2 hours ago










                    • I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                      – BJPrim
                      2 hours ago










                    • That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                      – egreg
                      2 hours ago






                    • 1




                      You can remove xfp and replace fpeval by fp_eval:n.
                      – Ulrike Fischer
                      2 hours ago


















                    • This way the optional argument is actually mandatory.
                      – egreg
                      2 hours ago










                    • @egreg thanks, I changed to O{}.
                      – Ulrike Fischer
                      2 hours ago










                    • I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                      – BJPrim
                      2 hours ago










                    • That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                      – egreg
                      2 hours ago






                    • 1




                      You can remove xfp and replace fpeval by fp_eval:n.
                      – Ulrike Fischer
                      2 hours ago
















                    This way the optional argument is actually mandatory.
                    – egreg
                    2 hours ago




                    This way the optional argument is actually mandatory.
                    – egreg
                    2 hours ago












                    @egreg thanks, I changed to O{}.
                    – Ulrike Fischer
                    2 hours ago




                    @egreg thanks, I changed to O{}.
                    – Ulrike Fischer
                    2 hours ago












                    I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                    – BJPrim
                    2 hours ago




                    I am struggling to get your code running. It says: "File `xfp.sty' not found." I am working with Overleaf, can it be that this package is not supported?
                    – BJPrim
                    2 hours ago












                    That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                    – egreg
                    2 hours ago




                    That's not what I meant; if you use percentage{<number>}, the previous value is used, which may or may not be desired.
                    – egreg
                    2 hours ago




                    1




                    1




                    You can remove xfp and replace fpeval by fp_eval:n.
                    – Ulrike Fischer
                    2 hours ago




                    You can remove xfp and replace fpeval by fp_eval:n.
                    – Ulrike Fischer
                    2 hours ago


















                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                    • 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%2ftex.stackexchange.com%2fquestions%2f468597%2fconvert-decimal-to-percentage-value%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

                    Eastern Orthodox Church

                    Zagreb

                    Understanding the information contained in the Deep Space Network XML data?