代码不计算小数位
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计算圆周率小数点后五万位的最快的方法,需要代码,谢谢