将整数向量打印为十进制数

Posted

技术标签:

【中文标题】将整数向量打印为十进制数【英文标题】:Print a integer vector as decimal number 【发布时间】:2011-12-04 12:13:25 【问题描述】:

如果你声明一个混合了十进制和整数值的数字向量并打印它,它们都将转换为十进制数。

s <- c(0, 1.1, 2, 3)
print(s)
[1] 0.0 1.1 2.0 3.0

但如果你使用 cat 而不是 print,每个数字都会根据其类型进行格式化。

cat(s, sep=" ")
0 1.1 2 3 

如何使用 cat 打印数字向量,但又像 print 那样将值转换为十进制数?

最好的

【问题讨论】:

【参考方案1】:

例如:

> cat(sprintf("%.01f", s))
0.0 1.1 2.0 3.0

【讨论】:

【参考方案2】:

你可以使用格式:

cat(format(s,digits=2))

【讨论】:

这将不再适用于整数向量,而是使用cat(format(s, nsmall = 2))

以上是关于将整数向量打印为十进制数的主要内容,如果未能解决你的问题,请参考以下文章

ANSI-C:打印十进制整数的最大字符数

如何在lpBuffer中转换和连接位置以最终打印为整数的十六进制数?

用C语言编一个将十进制整数转化为16进制数的程序

如何将数值转化为二进制数?

将十进制数转换为二进制数----不用数组,也不用函数,只用循环

C++编写一个程序,将用户输入的十进制整数转换成任意进制的数