专栏
标签
将数据转化为UInt16时出现报错
技术分享
发布于 2024-09-11 20:36:07
查看 3过去629天

一、问题现象

将数据转化为UInt16时出现报措,报错信息如下:

ERROR:InexactError:UInt16(xxxxx)

代码如下:

s=size(a)

b=ones(UInt16,s[1],s[2])

b=UInt16.(a)

二、解决方法 / 步骤

由于上述代码中的矩阵a非整型,根据julia语言的特性,无法对非整型数据进行整型处理,因此需要将矩阵a先转为整型,再转为Ulnt16数据类型。

修改后的代码如下:

s=size(a)

b=ones(UInt16,s[1],s[2])

a=round.(a) #将柜阵a转为整型值

b=UInt16.(a) #将矩阵a转为UInt16数据类型,并赋给矩阵b

补充:round函数的用法

语法:

round(z::Complex[,RoundingModeReal,[RoundingModelmaginary]];digits=,base=10)

round(z::Complex[,RoundingModeReal.[RoundingModelmaginary]]:sigdigits=,base=10)

round([T,]x,[r::RoundingMode])

round(x,[r::RoundingMode];digits::Integer=0,base=10)

round(x,[r::RoundingMode];sigdigits::Integer,base=10)

说明:

四舍五入为最近的小数或整数

示例:复数取整

对复数的实部和虚部分别进行四舍五入。


image.png
round函数的有关信息可以参阅帮助文档:
image.png

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天