【发布时间】:2014-12-09 18:06:15
【问题描述】:
我有一些号码,例如num = c(0.1, 0.001, 1.12345e-5)。我想将num 转换为字符串,每个元素以科学格式显示,3 位数。那是num_after_convert = c( '1.00e-1', '1.00e-3' , '1.12e-5')。有什么好的解决办法吗?
【问题讨论】:
我有一些号码,例如num = c(0.1, 0.001, 1.12345e-5)。我想将num 转换为字符串,每个元素以科学格式显示,3 位数。那是num_after_convert = c( '1.00e-1', '1.00e-3' , '1.12e-5')。有什么好的解决办法吗?
【问题讨论】:
sprintf 函数将为您提供最大程度的输出控制,并可以保证科学计数:
> num <- c(0.1, 0.001, 1.12345e-5)
> sprintf("%4.2e", num)
[1] "1.00e-01" "1.00e-03" "1.12e-05"
>
【讨论】:
如果你的向量总是至少有一个元素已经用科学记数法表示,请试试这个:
format(num,digits=3)
【讨论】: