![如何将这个数字扩展为完整的十进制(非科学)记数法?](https://linux22.com/image/250392/%E5%A6%82%E4%BD%95%E5%B0%86%E8%BF%99%E4%B8%AA%E6%95%B0%E5%AD%97%E6%89%A9%E5%B1%95%E4%B8%BA%E5%AE%8C%E6%95%B4%E7%9A%84%E5%8D%81%E8%BF%9B%E5%88%B6%EF%BC%88%E9%9D%9E%E7%A7%91%E5%AD%A6%EF%BC%89%E8%AE%B0%E6%95%B0%E6%B3%95%EF%BC%9F.png)
我需要排版88.6的53次方乘以9216的结果。
我需要的是完整的数字,作为长达 6 页的方程式的一部分,该方程式表示以 4 英里/小时的速度步行到仙女座星系需要多长时间。它不应该采用科学计数法。
答案1
很遗憾,bigintcalc
只允许使用整数进行计算。但在这种情况下,你知道整数部分的位数:以 10 为底的对数88.6^53 * 9216
约为 107.178,因此我们可以以整数算术方式执行运算,并调整结果使整数部分有 108 位数字:
\documentclass{article}
\usepackage{xparse,l3str,bigintcalc}
\usepackage{numprint}
\npthousandsep{\hspace{.33333em plus .16667em minus .11111em}}
\npdecimalsign{.}
\ExplSyntaxOn
\NewDocumentCommand{\xnumprint}{mm}
{ % #1 = bigint expression, #2 = decimal places
\tl_set:Nx \l_tmpa_tl { #1 }
\tl_set:Nx \l_tmpb_tl { \str_substr:Nnn \l_tmpa_tl { #2 } { } }
\tl_set:Nx \l_tmpa_tl { \str_substr:Nnn \l_tmpa_tl { } { #2 } }
\use:x { \exp_not:N \numprint { \l_tmpa_tl.\l_tmpb_tl } }
}
\ExplSyntaxOff
\begin{document}
\noindent\xnumprint{\bigintcalcMul{\bigintcalcPow{886}{53}}{9216}}{108}
\end{document}
答案2
方法如下:
\documentclass{article}
\usepackage{bigintcalc}
\begin{document}
\bigintcalcMul{\bigintcalcPow{86}{53}}{9216}
\end{document}
格式化它:
\documentclass{article}
\usepackage{numprint}
\npthousandsep{ }
\usepackage{bigintcalc}
\begin{document}
\numprint{\bigintcalcMul{\bigintcalcPow{86}{53}}{9216}}
\end{document}
(小数点上只有一个小错误)。
您可能还会发现如何排版大数字,有用。
您可能还想将其放在 parbox 中,并添加幻影字符来排列千位,