Main Content

cast

将变量转换为不同的数据类型

说明

示例

B = cast(A,newclass) 返回 A 中转换为数据类型(类)newclass 的数据,其中 newclass 是与 A 兼容的内置数据类型的名称。A 中任何超出 newclass 范围的值都会在 B 中截断到最近的端点。

将浮点数转换为整数时,cast 函数会将该数舍入为最接近的整数。如果浮点数的小数部分恰好为 0.5,则它朝偏离零的方向舍入到模更大的整数。

示例

B = cast(A,"like",p)A 转换为与变量 p 相同的数据类型、稀疏性和复/实性(实数或复数)。如果 Ap 都为实数,则 B 也为实数。否则,B 为复数。

示例

全部折叠

int8 值转换为 uint8

定义一个由 8 位整数组成的向量。

a = int8([-5 5]);

a 转换为无符号 8 位整数。超出 uint8 范围的值 –5 被截断为 0。

b = cast(a,"uint8")
b = 1x2 uint8 row vector

   0   5

创建一个由 32 位有符号整数组成的 1×3 向量。

A = int32([-12 34 56])
A = 1x3 int32 row vector

   -12    34    56

创建数据类型为 double 的复数。

p = 1+2i
p = 1.0000 + 2.0000i

A 转换为与变量 p 相同的数据类型和复/实性。

B = cast(A,"like",p)
B = 1×3 complex

 -12.0000 + 0.0000i  34.0000 + 0.0000i  56.0000 + 0.0000i

创建一个由零组成的 2×3 矩阵,其元素是 32 位无符号整数。

A = zeros(2,3,"uint32")
A = 2x3 uint32 matrix

   0   0   0
   0   0   0

创建数据类型为 double 的 2×2 稀疏矩阵。

p = sparse(2,2,pi)
p = 
   (2,2)       3.1416

A 转换为与变量 p 相同的数据类型和稀疏性。

B = cast(A,"like",p)
B = 
   All zero sparse: 2x3

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
复数支持:

新建类,指定为 "single""double""int8""int16""int32""int64""uint8""uint16""uint32""uint64""logical""char"

原型,指定为标量、向量、矩阵或多维数组。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
复数支持:

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开