matlab中num2str 将数字转换为字符数组
参考:https://ww2.mathworks.cn/help/matlab/ref/num2str.html?searchHighlight=num2str&s_tid=doc_srchtitle
num2str
将数字转换为字符数组
说明
示例
浮点值的默认转换
将 pi 和 eps 返回的浮点值转换为字符向量。
s = num2str(pi)
s =
'3.1416'
s = num2str(eps)
s =
'2.2204e-16'
指定精度
指定浮点值的最大有效位数。
A = gallery('normaldata',[2,2],0);
s = num2str(A,3)
s = 2x16 char array
'-0.433 0.125'
' -1.67 0.288'
指定格式
指定浮点值数组的宽度、精度及其他格式。
A = gallery('uniformdata',[2,3],0) * 9999;
s = num2str(A,'%10.5e\n')
s = 2x35 char array
'9.50034e+03...'
'2.31115e+03...'
格式 '%10.5e' 使用具有五个小数位数的指数格式输出各个值,'\n' 输出换行符。
输入参数
A - 输入数组
数值数组
输入数组,指定为数值数组。
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
复数支持: 是
precision - 有效数字最大位数
正整数
输出字符串中的有效数字最大位数,指定为正整数。
注意
如果您指定的 precision 超出输入浮点数据类型的精度,则结果可能与您指定的精度的输入值不匹配。结果取决于您的计算机硬件和操作系统。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
formatSpec - 输出字段的格式
格式化操作符
输出字段的格式,使用格式化操作符指定。formatSpec 还可以包括普通文本和特殊字符。
formatSpec 可以是用单引号引起来的字符向量,从 R2016b 开始,也可以是字符串标量。
格式化操作符
格式化操作符以百分号 % 开头,以转换字符结尾。转换字符是必需的。您也可以在 % 和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,在这里显示空格只是为了便于阅读。)

转换字符
此表显示了要将数值和字符数据格式化为文本的转换字符。
| 值类型 | 转换 | 详细信息 |
|---|---|---|
|
有符号整数 |
|
以 10 为基数 |
|
无符号整数 |
|
以 10 为基数 |
|
|
以 8 为基数(八进制) |
|
|
|
以 16 为基数(十六进制),小写字母 |
|
|
|
与 |
|
|
浮点数 |
|
定点记数法(使用精度操作符指定小数点后的位数。) |
|
|
指数记数法,例如 |
|
|
|
与 |
|
|
|
更紧凑的 |
|
|
|
更紧凑的 |
|
|
字符或字符串 |
|
单个字符 |
|
|
字符向量或字符串数组。输出文本的类型与 |
可选操作符
可选标识符、标志、字段宽度、精度和子类型操作符进一步定义了输出文本的格式。
标识符
处理函数输入参数的顺序。使用语法
,其中n$n代表函数调用中其他输入参数的位置。示例:
('%3$s %2$s %1$s %2$s','A','B','C')将输入参数'A'、'B'、'C'输出为:C B A B。注意:如果输入参数为数组,则不能使用标识符指定该输入参数中的特定数组元素。
标志
'–'左对齐。
示例:%-5.2f
示例:%-10s'+'始终为任何数值输出符号字符(+ 或 –)。
示例:%+5.2f
右对齐文本。
示例:%+10s' '在值之前插入空格。
示例:% 5.2f'0'在值之前补零以填充字段宽度。
例如:%05.2f'#'修改选定的数值转换:
对于
%o、%x或%X,将输出0、0x或0X前缀。对于
%f、%e或%E,即使精度为零也将输出小数点。对于
%g或%G,不删除尾随零或小数点。
示例:
%#5.0f字段宽度
要输出的最低字符数。字段宽度操作符可以是数字,也可以是指向输入参数的星号 (
*)。当您将
*指定为字段宽度操作符时,其他输入参数必须指定打印宽度和要打印的值。宽度和值可以是参数对组,也可以是数值数组中的对组。使用*作为字段宽度操作符时,您可以打印具有不同宽度的不同值。示例:输入参数
('%12d',intmax)等效于('%*d',12,intmax)。示例:输入参数
('%*d',[2 10 5 100])返回'10 100',其中两个空格分配给10,五个空格分配给100。您也可以将字段宽度和值指定为多个参数,如('%*d',2,10,5,100)中所示。除非标志另行指定,否则该函数使用空格填充值之前的字段宽度。
精度
对于
%f、%e或%E小数点右侧的位数
示例:'%.4f'将pi输出为'3.1416'对于
%g或%G有效位数
示例:'%.4g'将pi输出为'3.142'精度操作符可以是数字,也可以是指向参数的星号 (
*)。当您将
*指定为字段精度操作符时,其他输入参数必须指定打印精度和要打印的值。精度和值可以是参数对组,也可以是数值数组中的对组。使用*作为精度操作符时,您可以打印具有不同精度的不同值。将
*.*指定为字段宽度和精度操作符时,必须以三元组形式指定字段宽度、精度和值。示例:输入参数
('%.4f',pi)等效于('%.*f',4,pi)。示例:输入参数
('%6.4f',pi)等效于('%.*f',6,4,pi)。示例:输入参数
('%*.*f',6,4,pi,9,6,exp(1))返回'3.1416 2.718282',其中以9和6分别作为exp(1)输出的字段宽度和精度。注意
如果您为浮点值指定的精度操作符所表示的精度超出输入数值数据类型的精度,则在指定精度内,结果与输入值可能不匹配。结果取决于您的计算机硬件和操作系统。
子类型
可以使用子类型操作符将浮点值显示为八进制、十进制或十六进制值。子类型操作符紧邻转换字符之前。此表显示了可使用子类型的转换。
输入值类型
子类型和转换字符
输出值类型
浮点数
%bx或%bX%bo%bu双精度十六进制、八进制或十进制值
例如:%bx将pi输出为400921fb54442d18%tx或%tX%to%tu单精度十六进制、八进制或十进制值
例如:%tx将pi输出为40490fdb
格式化操作符前或后的文本
formatSpec 还可以在百分号 % 前添加其他文本,或者在转换字符后添加其他文本。文本可以为:
要打印的普通文本。
您无法作为普通文本输入的特殊字符。此表显示了如何在
formatSpec中表示特殊字符。特殊字符
表示形式
单引号
''百分比字符
%%反斜杠
\\警报
\a退格符
\b换页符
\f换行符
\n回车符
\r水平制表符
\t垂直制表符
\v其 Unicode 数值可以通过十六进制数
N表示的字符\xN示例:
sprintf('\x5A')返回'Z'其 Unicode 数值可以通过八进制数
N表示的字符\N示例:
sprintf('\132')返回'Z'
使用格式化操作符进行转换时要注意的行为
数值转换仅输出复数的实部。
如果指定不适合数据的转换(例如数值的文本转换),MATLAB 将改写指定的转换并使用
%e。示例:
'%s'将pi转换为3.141593e+00。如果对整数值应用文本转换(
%c或%s),MATLAB 会将对应于有效字符代码的值转换为字符。示例:
'%s'将[65 66 67]转换为ABC。
数据类型: char | string
输出参数
s - 输入数组的文本表示形式
字符数组
输入数组的文本表示形式,以字符数组的形式返回。
提示
num2str 不接受 formatSpec 输入参数中的位置标识符。例如,num2str([14 15],'%2$X %1$o) 将返回错误。
位置标识符指定格式化操作符处理函数的输入参数的顺序,而不是处理输入数组的元素的顺序。当您调用 num2str 时,只有一个输入参数包含要转换的数字。
算法
num2str 将删除字符数组中的任何前导空格,即使 formatSpec 包含空格字符标志也是如此。例如,num2str(42.67,'% 10.2f') 返回一个 1×5 字符数组 '42.67'。
扩展功能
C/C++ 代码生成
使用 MATLAB Coder 生成 C 代码和 C++ 代码。
用法说明和限制:
输入参数必须是常量。
GPU 数组
通过使用 Parallel Computing Toolbox 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
matlab中num2str 将数字转换为字符数组的更多相关文章
- c++中string类对象和字符数组之间的相互转换
string类在c++中是一个模板类,位于名字空间std中,注意这里不是string.h,string.h是C字符串头文件. 将string类型转换为字符数组char arr[10];string s ...
- matlab 中txt文件(含字符及数值)处理
matlab 中txt文件(含字符及数值)处理 (2008-08-02 09:45:12) 转载▼ 标签: 杂谈 分类: matlab及C学习 Matlab文件操作及读txt文件ZZ 2008-07- ...
- matlab中upper 将字符串转换为大写
参考:https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srcht ...
- matlab中num2str的应用
在求导数,积分,方程的过程中,难免会遇到一些参数要随着情况有点变化,这时,你就需要能够动态的表示出你的表达式,Num2str函数是一个相当有用的函数,一般配合[]连接符使用,下面将我接触到的一些用法写 ...
- Matlab中num2str函数的用法
转载:https://blog.csdn.net/SMF0504/article/details/51836062 函数功能: 把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出 ...
- Java 将字符串转换为字符数组 toCharArray()
Java 手册 toCharArray public char[] toCharArray() 将此字符串转换为一个新的字符数组. 返回: 一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初 ...
- Java中如何拆分字符串为字符数组
题目:输入一串字符,由(){}[]组成,判断是否所有的括号都是闭括号,是的返回TRUE,不是返回FALSE. /*输入字符串,拆解为字符数组 * 用函数s.charAt(i)来完成 * * */imp ...
- 注意SSIS中的DT_NUMERIC类型转换为字符类型(比如DT_WSTR)时,会截断小数点前的0
我们知道SSIS中有许多数据类型,如下图所示: 但是DT_NUMERIC这个类型有个陷进要注意,我们来做个实验,随便定义一个String类型的SSIS包变量,然后打开该变量表达式窗口: 在变量表达式窗 ...
- 面试题3--数组中的重复数字(new数组的新写法)
总是忘了一些条件的判断,比如非空或者其他之类. #include<iostream> using namespace std; int Frepeat(int num[],int leng ...
随机推荐
- Pytest的装饰器——parametrize中ids里包含中文,用例标题显示异常如何解决?
在使用pytest做测试的过程中,经常会用到pytest.mark.parametrize来对批量生成测试用例,比如 @pytest.mark.parametrize( ['a', 'b', 'exp ...
- 【转】Android 5.0 : Parsing Data for android-21 failed unsupported major.minor version 51.0
http://code2care.org/pages/parsing-data-for-android-21-failed-unsupported-major.minor-version-51.0/ ...
- A+B in Hogwarts (20)(模拟)
时间限制 1000 ms 内存限制 65536 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 If you are a fan of Harry Potter ...
- [BUUOJ记录] [ACTF2020 新生赛]Include
本题主要考查了利用php://filter伪协议进行文件包含 进入题目根据Tip进入正题,可以看到URL中存在文件包含(题目名也很直接) 首先考虑 "php://input"伪协议 ...
- three.js尝试(一)模拟演唱会效果
工作闲暇之余,偶然翻到了Three.js的官网,立刻被它酷炫的案例给惊艳到了,当即下定决心要试验摸索一番,于是看demo,尝试,踩坑,解决问题,终于搞定了,一个模拟演唱会场景. 主角围绕一个钢管在舞动 ...
- basicInterpreter1.02 增加对for循环的支持
源码下载:https://files.cnblogs.com/files/heyang78/basicInterpreter102-20200531-2.rar 输入: for x= to print ...
- java实现内网通信
package newTest; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; ...
- 理解Clip Path
http://www.w3cplus.com/css3/using-making-sense-of-clip-path.html http://www.cnblogs.com/coco1s/p/602 ...
- 通俗理解线性回归(Linear Regression)
线性回归, 最简单的机器学习算法, 当你看完这篇文章, 你就会发现, 线性回归是多么的简单. 首先, 什么是线性回归. 简单的说, 就是在坐标系中有很多点, 线性回归的目的就是找到一条线使得这些点都在 ...
- 微信小程序-组件-基础内容
1.text 1.作用:类似html的行内元素 2.常用属性: -space值:ensp:中文字符空格一半大小 emsp:中文字符空格大小 nbsp:根据设置字体的大小决定空格大小 -decode:d ...