控制科学计数法中的小数位数[重复]

Posted

技术标签:

【中文标题】控制科学计数法中的小数位数[重复]【英文标题】:Control the number of decimals in scientific notation [duplicate] 【发布时间】:2017-06-01 07:49:44 【问题描述】:

我有一个向量:

c(0, 1.23, 0.0000123)

我想获得定义小数位数的科学记数法。比如:

# [1] 0.000e+00 1.230e+00 1.230e-05

或喜欢:

# [1] 0.000000e+00 1.230000e+00 1.230000e-05

我该怎么做?

【问题讨论】:

First hit on google 我试过google但找不到答案 结果是[1] "0.00e+00" "1.23e+00" "1.23e-05"。这是两位小数,我需要 3 或 6 x <- c(0, 1.23, 0.0000123)。然后尝试sprintf("%.3e", x)。你应该得到[1] "0.000e+00" "1.230e+00" "1.230e-05" 【参考方案1】:

来自我的评论:

x <- c(0, 1.23, 0.0000123)

试试

sprintf("%.3e", x)
[1] "0.000e+00" "1.230e+00" "1.230e-05"

如果您不希望显示引号和 [1],请执行此操作

cat(sprintf("%.3e", x),"\n")
0.000e+00 1.230e+00 1.230e-05

【讨论】:

它有效。谢谢

以上是关于控制科学计数法中的小数位数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

控制科学记数法的位数(例如 e-3 而不是 e-03)

将小数格式化为没有科学记数法的小数位数

Python使用pandas设置数据列中float数据类型的有效小数位数抑制科学计数法

降低科学计数法中长小数的准确性

怎么将科学计数法

js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0