백분율 계산

백분율 계산

calc나는 패키지를 사용하여 두 숫자를 기준으로 백분율을 인쇄하는 매크로를 작성하려고 했습니다 . 예: \printpercent{100}{200}100은 200의 중간 지점이므로 50%를 표시해야 합니다. 다양한 조합을 시도했지만 의미 있는 답변을 인쇄할 수 없는 것 같습니다. 제가 시도한 많은 공식 중 하나에 대해서는 아래를 참조하십시오.

\documentclass{article}
\usepackage{calc}
\newcounter{z}
\newcommand{\printpercent}[2]{%
    \setcounter{z}{#1 / #2 * 100}
    $#1/#2*100=\arabic{z}\%$
}%
\begin{document}
    \printpercent{1}{100}
    \printpercent{250}{200}
\end{document}

다음과 같이 인쇄됩니다.

1/100*100 = 0%

250/200*100 = 100%

  • 이 숫자에서 백분율을 어떻게 계산할 수 있나요?

답변1

계산은 정수에만 적용됩니다. #1먼저 100을 곱해야 합니다 .

\documentclass{article}
\usepackage{calc}
\newcounter{z}
\newcommand{\printpercent}[2]{%
    \setcounter{z}{#1 * 100 / #2}
    $#1/#2*100=\arabic{z}\%$
}%
\begin{document}
    \printpercent{1}{100}
    \printpercent{250}{200}
\end{document}

eTeX를 사용하는 것이 더 쉽습니다.

\newcommand\printpercent[2]{\the\numexpr#1*100/#2\%}

보다 정확한 솔루션이 필요하거나 입력이 정수 값이 아닌 경우 이를 위해 fp, fltpoint또는 패키지 pgfmath를 사용할 수 있습니다. l3fp예를 들어:

\documentclass{article}
\usepackage{fp}
\newcommand\printpercent[2]{\FPeval\result{round(#1*100/#2,1)}\result\%}
\begin{document}
    \printpercent{2.3}{100}
    \printpercent{176.5}{190.375}
\end{document}

답변2

pgfmath또 다른 가능성은 와 함께 사용하는 것입니다 siunitx. 정밀도가 항상 정확한지는 잘 모르겠습니다. 이 경우에는 fpu또는 를 사용할 수 있습니다 fp.

업데이트: 함께 작업하는 사용자의 경우 다음 으로 tikz교체가 가능합니다.SI\pgfmathprintnumber

\documentclass{article} 

\input{pgfutil-common.tex}
\usepackage{pgfkeys,pgfmath}  
\usepackage{siunitx}

\newcommand{\printpercent}[3][2]{%  
    \pgfmathdivide{#2}{#3}% 
    \pgfmathmultiply{\pgfmathresult}{100}%
    \SI[round-mode=places,round-precision=#1]{\pgfmathresult}{\percent}
}%

\begin{document}    
     \printpercent[0]{1}{100}   
     \printpercent{200}{250}   
     \printpercent{2}{3}  
\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보