回答
我能玩嗎? :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
'Len(Split(Num&「。」,「。」)(1))' – omegastripes
對不起,我不明白你在說什麼? –
考慮'Num = 1452',添加點連接以使代碼失效。 – omegastripes
=LEN(LEFT(A1;LEN(A1)-FIND(".";A1))-1)
=LEN(RIGHT(A1;LEN(A1)-FIND(".";A1)))
也就是說,如果你的十進制字符是一個點。
我有一個小數點分隔符,都返回2(對於A1中的1452.13) –
= LEN(INT(A1))和= LEN(A1-INT(A1)) - 2可能更好。 –
有很多方法。例如here
這是一種相當快的技術,可以在小數點後找到數字。
可以複製和修改,找出小數點
Function CountDecimalPlaces(aNumber As Double) As Long
Dim len1 As Long, len2 As Long
len1 = Len(CStr(aNumber))
len2 = Len(CStr(Int(aNumber)))
CountDecimalPlaces = len1 - len2 + CLng(len1 <> len2)
End Function
Function CountInteger(aNumber As Double) As Long
CountInteger = Len(CStr(Int(aNumber)))
End Function
無論是上述的前地方靠你十進制字符是「」
++適用於多種解決方案! (我認爲(減)** - **'CLng(len1 <> len2)'應該是** + **'CLng(len1 <> len2)') –
我知道 - 非常聰明,但是當你在執行期間評估'CLng(len1 <> len2)'? (我得到一個-1) –
哦,是的。改變了它。 – HarveyFrench
使用Excel公式你最好使用下面的(快)式
=LEN(INT(A1))
=LEN(A1) - IF(INT(A1)-A1,1,0) - LEN(INT(A1))
如果您在使用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潰敗回答
認爲沒有新的見解;如果你想讓代碼真的很安全(看看@ Siddharth-Rout的編輯),然後使用與通常的點定界符「。」不同的局部小數設置。 (在中歐使用的逗號,G。在德國或奧地利)。順便說一下,這是VBA代碼不僅適用於MS Word。 –
你是對的@T.M。不同的是'Debug.Print'Siddrath沒有提到結果在Imrmediate Window。如果一個初學者可能在觀看結果時遇到問題。我想知道你的意見。 –
您打算提供幫助,這很好,但我認爲即使是初學者也可以看看MS幫助網站,如果他不知道「Debug.Print」的含義是什麼的話。海事組織這個增加並沒有真正與問題本身或迫切需要澄清:-) –
- 1. 通過Excel VBA計算小數位數
- 2. VBA Excel ADODB計數字段
- 3. Excel VBA宏 - 字符串到小數
- 4. 與excel數據庫的VBA計數器
- 5. Excel VBA字符匹配計數修復
- 6. Excel VBA - 計數重複
- 7. Excel VBA水平計數
- 8. 計算小數點前後的空格
- 9. 計數字符VBA
- 10. 使用javascript計算小數位數前後的位數
- 11. 如何計算2位數後的所有數字,但小數點前?
- 12. Excel VBA更改數字的後兩位數
- 13. Excel的VBA ADODB.Connection的Sql計數distincts
- 14. EXCEL VBA - 使用字典和數組計數
- 15. (Excel)在其他值之前添加小數點後的特定數字
- 16. Excel-每小時計數
- 17. Excel VBA中的計數搜索結果
- 18. Excel VBA數組
- 19. Excel VBA中的計數最後一排的源文件
- 20. 如何計算小數點前後的位數?
- 21. 計數小寫字母數
- 22. VBA Excel小計錯誤
- 23. VBA分裂小數點後的字符串由2個字符
- 24. Excel 2010 VBA函數粘貼爲計算後的值
- 25. VBA Excel範圍()帶小區參數
- 26. 停止Excel(或VBA)舍入小數
- 27. Excel VBA UDF格式化 - 在計算之前更改參數值
- 28. Excel檢查並更換小數點後的數字
- 29. Excel到csv文件轉換 - 保留小數點後的數字
- 30. 使用excel vba自動計算某些單元格。小數點後兩位小數格式被覆蓋
歡迎堆棧溢出!你有沒有試圖解決這個問題?如果你有,請編輯你的問題,包括你的代碼和研究,以顯示什麼不適合你。如果你還沒有,你應該先嚐試自己解決它,然後在這裏發佈代碼和研究。它讓你的問題更容易讓別人回答! – SuperBiasedMan