我目前无法使用 knitr
实现所需的数字四舍五入.问题出现在最后四舍五入数字以零结尾的数字上。这方面的一个例子是 14.04,我想在小数点后 1 位四舍五入到 14.0。问题是knitr
与 latex
因为输出给出 14 没有 0 作为小数位。
我会假设有某种尾随零选项,但我找不到它。有任何想法吗? Bellow 是该问题的一个简短的最小工作示例。
\documentclass[12pt]{article}
\begin{document}
<<>>=
library(knitr)
options(digits=1)
@
Full number = 14.0417
Number of issue \Sexpr{14.041783}
Should appear as 14.0
\end{document}
编辑:在查看第一个答案时(感谢 Ben 的快速回复),我意识到我在这里遇到的另一个问题。虽然将数字格式化为字符串的解决方案解决了主要问题,但当它出现在使用科学记数法格式化的“大”数字上时,它们并不能解决相同的问题。
我将举第二个例子来证明这一点:假设数字是 100,400,000。使用
options(digits=2)
的结果输出变成 10^8
, 我更喜欢的地方 1.04 x 10^8
. Rnw 示例如下。\documentclass[12pt]{article}
\begin{document}
<<>>=
library(knitr)
options(digits=2)
@
Number 100,400,000
\Sexpr{100400000}
\end{document}
最佳答案
我想 this回答它:使用 sprintf()
.
\documentclass[12pt]{article}
\begin{document}
<<>>=
library(knitr)
options(digits=1)
x <- 14.0417
@
Full number = \Sexpr{x}
Number of issue \Sexpr{sprintf("%.1f",x)}
\end{document}
关于r - Knitr:内联文本的尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34258905/