R中用于将数字四舍五入为2小数点的公共代码是:
> a = 14.1234
> round(a, digits=2)
> a
> 14.12
Run Code Online (Sandbox Code Playgroud)
但是,如果数字的前两个十进制数字为零,则R在显示中禁止为零:
> a = 14.0034
> round(a, digits=2)
> a
> 14
Run Code Online (Sandbox Code Playgroud)
即使它们是零,我们怎样才能使R显示第一个十进制数字?我特别需要这个情节.我在这里搜索了一些人建议使用options(digits=2),但这使得R有一种奇怪的行为.
akr*_*run 28
我们可以用 format
format(round(a), nsmall = 2)
#[1] "14.00"
Run Code Online (Sandbox Code Playgroud)
正如评论中提到的@ arvi1000,我们可能需要指定digitsinround
format(round(a, digits=2), nsmall = 2)
Run Code Online (Sandbox Code Playgroud)
a <- 14.0034
Run Code Online (Sandbox Code Playgroud)
试试这个:
a = 14.0034
sprintf('%.2f',a) # 2 digits after decimal
# [1] "14.00"
Run Code Online (Sandbox Code Playgroud)