我试图计算小数位前后的数字。
例如1452.13之前将是4之前和之后将是2。
该值存储在一个字符串中我认为我可能需要使用len和find但是无法弄明白吗?
非常感谢任何帮助。
答案 0 :(得分:3)
答案 1 :(得分:3)
我也可以玩吗? :d
Num = 1452.13
Debug.Print Len(Split(Num, ".")(0)) '<~~ Length of number before decimal
Debug.Print Len(Split(Num, ".")(1)) '<~~ Length of number After decimal
编辑:
我假设你只传递小数。但为了使它万无一失,你可以使用这个
Num = 1452
Debug.Print Len(Split(Num, ".")(0)) '<~~ Length of number before decimal
If InStr(1, Num, ".") Then Debug.Print Len(Split(Num, ".")(1)) _
Else Debug.Print 0 '<~~ Length of number After decimal
答案 2 :(得分:2)
使用excel公式,您最好使用以下(快速)公式
=LEN(INT(A1))
=LEN(A1) - IF(INT(A1)-A1,1,0) - LEN(INT(A1))
答案 3 :(得分:1)
=LEN(LEFT(A1;LEN(A1)-FIND(".";A1))-1)
=LEN(RIGHT(A1;LEN(A1)-FIND(".";A1)))
也就是说,如果您的小数字符是一个点。
答案 4 :(得分:0)
如果您使用的是Microsoft Word:
Sub dot()
Dim Num As Variant
Num = 1452.13
MsgBox "You number: " & Num
MsgBox "Length of number before decimal: " & Len(Split(Num, ".")(0))
MsgBox "Length of number After decimal: " & Len(Split(Num, ".")(1))
End Sub
基于Siddharth Rout回答