excel - 在Excel中使用VBA截断 double

标签 excel double decimal-point vba

我需要截断 double 值的小数位数以在文本框中显示。如何使用 VBA 实现这一目标?

最佳答案

如果您想要对值进行四舍五入,那么您可以使用 Round 函数(但请注意,VBA 的 Round 函数使用 Banker 舍入,也称为舍入到偶数,它将四舍五入a 5 向上或向下;要使用传统舍入进行舍入,请使用格式)。

如果您想截断值而不进行四舍五入,则无需像接受的答案中那样使用字符串 - 只需使用数学:

Dim lDecimalPlaces As Long: lDecimalPlaces = 2
Dim dblValue As Double: dblValue = 2.345

Dim lScale = 10 ^ lDecimalPlaces
Dim dblTruncated As Double: dblTruncated = Fix(dblValue * lScale) / lScale

这会产生“2.34”。

关于excel - 在Excel中使用VBA截断 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347704/

相关文章:

vba - 比较日期范围Excel VBA

ios - 字符串双重故障排除

python - to_json() 函数错误地导出了带有 float64 的 Pandas 数据框

java - Java 中 Double.MIN_VALUE 是否大于零?

c++ - 如有必要,从字符串中删除尾随的 0 和小数

mysql - 如何用MySQL存储3位小数

.net - 有哪些基于 Open XML SDK 构建的框架?

python - 索引错误 : too many indices for array

excel - 表扩展而不是创建

c# - 0.1在浮点运算和小数中如何表示