如何在具有固定浮点的matlab中转换变量

Posted

技术标签:

【中文标题】如何在具有固定浮点的matlab中转换变量【英文标题】:How can I cast variables in matlab with fixed floating point 【发布时间】:2012-02-16 13:44:28 【问题描述】:

是否可以将双精度变量转换为具有固定浮点数的浮点数(Matlab 中的单数)? 例如

x = 10.023213032130123021302130210331232132103312321

x = 10.0231

谢谢!

【问题讨论】:

“固定浮点数”是不是自相矛盾? 是的,你是对的。如果您说:“选择要表示浮点数的位数”,则更准确 How can I round to a certain floating-point precision?的可能重复 由于没有“float11”可以给出正确的小数位数,但只有双类和单类,“cast”在这里不是正确的词。当你转换一个变量时,你将它从一个类转换为另一个类 【参考方案1】:

先转换为single:

X = single(Y)

然后申请round() 以获得固定格式:

X = round(10^N*X) / 10^N;

得到小数点后N位

【讨论】:

以上是关于如何在具有固定浮点的matlab中转换变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET 中将双精度值转换为具有固定小数位数的小数类型值

matlab矩阵--如何控制矩阵中小数点的位数

单片机C语言中如何将浮点型变量转换成字符串输出

如何将 Matlab 变量转换为带有标题的 .dat(文本)文件

如何在 netcdf 文件中将固定尺寸尺寸转换为无限制尺寸

javascript中如何将获得的整型数值转换为字节数组