Matlab 如何在不舍入的情况下截断浮点数的十进制值?

Matlab 如何在不舍入的情况下截断浮点数的十进制值?,matlab,Matlab,我尝试了很多MATLAB函数。round函数将2.99值转换为最接近的整数3,但我需要通过截断.99将2.99值转换为2。如何在MATLAB中实现这一点?您可以使用,向-INF方向旋转,或者向0方向旋转。选择取决于您希望如何处理负值-如果您只处理正值,则两者都将提供所需的行为。使用fix()函数: >> fix(4.55) = 4 trunc是错误的,因为它是一个符号函数,在这种情况下不起作用,需要符号数学工具箱。你实际上是在寻找fix@thewaywewalk:谢谢你的编辑

我尝试了很多MATLAB函数。
round
函数将
2.99
值转换为最接近的整数
3
,但我需要通过截断
.99
2.99
值转换为
2
。如何在MATLAB中实现这一点?

您可以使用,向-INF方向旋转,或者向0方向旋转。选择取决于您希望如何处理负值-如果您只处理正值,则两者都将提供所需的行为。

使用
fix()
函数:

>> fix(4.55)

 = 4 

trunc
是错误的,因为它是一个符号函数,在这种情况下不起作用,需要符号数学工具箱。你实际上是在寻找
fix
@thewaywewalk:谢谢你的编辑-在我喝咖啡之前我不应该尝试发布答案!你的建议既有价值又快捷。我很高兴能成为这个网站的一部分。你可以做得更好,我选择接受这个答案。这和保罗R的回答没有什么不同。“雷瑞恩,让我们考虑忍者的回答是有效的(不把它标记为答案,而只是另一个答案),因为他是一个相对较新的社区。如果你已经-1'读了这篇文章,我请求你撤销它,因为这篇文章只建议了一种方法,而保罗的文章建议了不止一种解决方法。@theghostofc-我没有-1回答。我只是评论说,这和保罗的回答没有什么不同,保罗的回答比忍者早了20分钟。这肯定是正确的,但我没有投赞成票,因为与Paul的答案相比,它没有添加任何更多的信息。@rayryeng,感谢您的快速更新。我很感激,也同意你所说的:)@theghosofc-没问题。我很高兴你能负责并确保新用户受到欢迎。