首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在科学符号中保持格式宽度

在科学符号中保持格式宽度
EN

Stack Overflow用户
提问于 2013-08-06 01:34:19
回答 2查看 7.2K关注 0票数 4

我正在编写一个自定义的print.xx函数,以显示一堆非常有表格的数据。列的宽度为11个字符,因此我执行如下操作:

代码语言:javascript
复制
> format(1234.567,width=11,digits=7)
[1] "   1234.567"
> format(1234.56789,width=11,digits=7)
[1] "   1234.568"

到目前一切尚好。当我有一个很大/很小的数字,而科学的表示法出现时,问题就来了:

代码语言:javascript
复制
> format(1234.56789e10,width=11,digits=7)
[1] "1.234568e+13"
> format(1234.56789e-10,width=11,digits=7)
[1] "1.234568e-07"

它应该使用科学的符号,好的,但我需要它坚持11个字符的宽度。我已经查找了scientificscipen参数,但它仍然超出了11个字符的限制。一个选项可以是检查是否生成了科学表示法,如果是的话,可以减少digits参数,但在我看来很俗气。

我怎么能强迫它给我一个固定长度的字符串,不管这个数字是否用科学符号表示?

EN

回答 2

Stack Overflow用户

发布于 2014-11-29 02:37:30

在我的例子中,我用:

sprintf("%11.5e",123456789e10) 1 "1.23457e+18“

您只需要知道您需要多少个字符,并在width.decimal之间做正确的平衡,即%11.5e

票数 5
EN

Stack Overflow用户

发布于 2013-08-06 01:49:27

代码语言:javascript
复制
> sprintf("%0.6g", 1234.56789e-10)
[1] "1.23457e-07"
> sprintf("%0.6g", 1234.56789e10)
[1] "1.23457e+13"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18070455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档