Excel VBA停止自动舍入

我在价格栏中显示的价格是3位小数和4位小数,例如123.456或123.4357。 所以不pipe小数位数是多less,我希望只有两位小数。 所以我select列和在VBA中我使用Selection.NumberFormat =“0.00”这是我的四舍五入的值,即当我格式123.456和123.4357到0.00我得到123.46和123.44,但我希望它是123.46和123.43。

所以只是想知道有没有办法我们可以修剪的价值,而不是四舍五入。 请给我一些示例。

先谢谢你。

Excel有一个内置的函数,trunc,应该为你做的伎俩。

这是我在a1:b2中放置的。

123.456 =trunc(A1,2) 123.4357 =trunc(A2,2) 

这将显示

 123.456 123.45 123.4357 123.43 

您可以将结果视为一个string并提取您需要的字符数,如下所示:

dim a as double dim s as string a = 123.4357 s = MID(a,1,FIND(“。”,a))&MID(a,FIND(“。”,a)+1,2)

我不相信有一个内置的蒙版将被截断,而不是四舍五入,你可以使用另一列包含=TRUNC(A1, 2)