使用Excel VBA以小数点拆分浮点数
我正在尝试在小数点处拆分一个数字,并将这两个部分存储在两个string中。
例如12.345存储为S1 = 12和S2 = 345
例如12.3450被存储为S1 = 12和S2 = 345
有人可以用Excel VBA引导我吗?
你可以使用splitfunction来做到这一点:
Dim splitnnum Dim num as Double num = 111.222 splitnum = Split(Str(num), ".") s1 = splitnum(0) s2 = splitnum(1)
这将在十进制分割和分配每个部分到一个string。
Dim x as Variant Dim num1 as String, num2 as String x = Split(Str(12.345), ".") num1 = x(Lbound(x,1)) num2 = x(Ubound(x,1))
最简单的方法可能是这样的:
Dim lHolder as Double Dim lWhole as Double Dim lRemain as Double lHolder = 12.345 ' Or whatever variable you have your number stored in lWhole = Fix(lHolder) lRemain = lHolder - lWhole
然后,您可以根据需要轮换lRemain。 例如
Round(lRemain, 5) ' Rounds out to 5 decimal places
将返回.345
这会在小数点打破你的号码
mynumber = 111.222
splitmynumber = Split(Str(mynumber),“。”)
'这是一个存储2个数字的数组
numberbeforedecimal = val(splitmynumber(0))
numberafterdecimal = val(splitmynumber(1))
答案:111和222