首页 > 解决方案 > R包括逗号并显示数字的最大dp

问题描述

有什么方法可以让我在大数中包含逗号,例如将 1000000 显示为 1,000,000,同时显示每个的最大小数位数。我已经浏览了一些问题,似乎没有选择两者兼而有之。我试过

format(1000000, big.mark = ",")

这往往会使数字四舍五入。如果我包含 nsmall 选项,它会更改所有值的 dp。因此,对于一列数字,我想要的理想输出是显示最大小数(如果有),如果没有则不显示。所以它看起来像这样:

1000000 -> 1,000,000
10043.9658 - > 10,043.9658
5005.3 -> 5,000.3

如您在上面看到的,如果没有小数,则不显示小数,如果有小数,则显示最大小数。

标签: r

解决方案


您可以使用sapply()withformat()确保digits参数设置为合适的最小宽度,并且scientific符号参数设置为FALSE.

sapply(c(1000000, 10043.9658, 5005.3), format, big.mark = ",", digits = 12, scientific = FALSE)

[1] "1,000,000"   "10,043.9658" "5,005.3"  

推荐阅读