如何在具有固定浮点的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 中将双精度值转换为具有固定小数位数的小数类型值