如何转换为String?

时间:2015-07-17 09:19:02

标签: octave

以下命令:

theta = zeros(2, 1);        
printf(theta)

提供错误:error: printf: format TEMPLATE must be a string

是否有将theta转换为字符串或打印theta值的功能?

阅读八度文档:http://www.network-theory.co.uk/docs/octave3/octave_140.html这似乎有可能吗?

3 个答案:

答案 0 :(得分:1)

matstr功能

对于我的案例:printf(mat2str(theta , 2))

src:https://www.gnu.org/software/octave/doc/interpreter/Converting-Numerical-Data-to-Strings.html

答案 1 :(得分:1)

如果您尝试冲刺到stdout流,那么您可以使用printf 而无需转换为字符串,因为它会为您执行此操作,但它可以像任何字符串格式化函数,在任何语言中,第一个参数是一个字符串,后跟要格式化并插入该字符串的变量。对于你的简单案例:

printf('%f', theta)

如果您只是想尝试打印到控制台,我建议您使用sprintfdisplay。 Matlab没有printf命令,我总是提倡尽可能将Octave代码直接移植到Matlab。

答案 2 :(得分:0)

使用num2str()

例如

str_theta = num2str(theta)

Octave documentaion on converting numbers to strings