代码不计算小数位

Posted

技术标签:

【中文标题】代码不计算小数位【英文标题】:Code isn't calculating decimal places 【发布时间】:2015-04-14 16:27:51 【问题描述】:

我正在尝试制作一个 VBA 模块来汇总单元格,不包括带有删除线的单元格。我在下面使用的代码效果很好,但不会计算小数。例如,'5 + 5.50' 将等于 10.00 我希望代码将小数值保留到小数点后两位,以便上面的总和为 10.50

Public Function ExcStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
If Not pRng.Font.Strikethrough Then
xOut = xOut + pRng.Value
End If
Next
ExcStrike = xOut
End Function

【问题讨论】:

这只是花了一点时间学习...解决方案是将“只要”更改为“单身”谢谢! 【参考方案1】:

为了回答:

Long 数据类型包含整数。

每个 OP:

解决方案是将“As Long”更改为“As Single”

我想我应该补充一点关于Single 的细节

保存带符号的 IEEE 32 位(4 字节)单精度浮点数,负值范围为 -3.4028235E+38 到 -1.401298E-45,负值范围为 1.401298E-45 到 3.4028235E+38为正值。单精度数存储一个实数的近似值。

【讨论】:

以上是关于代码不计算小数位的主要内容,如果未能解决你的问题,请参考以下文章

求用python计算圆周率小数点后五万位的最快的方法,需要代码,谢谢

jquery 精度计算代码,指定精确小数位

函数不返回小数,有时返回错误值?

JS 文本框加法运算保留2位小数

求用python输入圆的半径,计算圆的周长和面积,结果保留2位小数的代码

获取码值和进制转换系统(包括正负数小数)