使用Excel VBA在小数点处拆分浮点数

时间:2017-02-16 17:01:02

标签: excel excel-vba vba

我试图在小数点处分割一个数字并将这两个部分存储在两个字符串中。

E.g。 12.345存储为S1 = 12和S2 = 345

E.g。 12.3450存储为S1 = 12和S2 = 345

有人可以为我指导excel VBA吗?

4 个答案:

答案 0 :(得分:2)

您可以使用拆分功能执行此操作:

Dim splitnnum
Dim num as Double

num = 111.222
splitnum = Split(Str(num), ".")
s1 = splitnum(0)
s2 = splitnum(1)

答案 1 :(得分:2)

这将以十进制分割并将每个部分分配给一个字符串。

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))

答案 2 :(得分:0)

最简单的方法可能是:

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

答案 3 :(得分:0)

这会破坏小数点的数字

mynumber = 111.222

splitmynumber = Split(Str(mynumber),"。")

'这是一个存储2号码的数组

numberbeforedecimal = val(splitmynumber(0))

numberafterdecimal = val(splitmynumber(1))

答案:111& 222