是的。我知道。這些都是本地化設置...將小數點分隔符從','(逗號)轉換爲'。' (點)例如「7.5」到「7.5」
但我不會告訴我的客戶更改本地化設置只是我的應用程序。
那麼如何轉換這些數字呢?或者如何改變給定範圍的數字格式。 (在那裏需要點,用戶可以輸入逗號或點,或者甚至是逗號分開的數字,例如1,000,000.00 ...)
編輯: 由CStr()限定整個問題,並傳遞字符串。
是的。我知道。這些都是本地化設置...將小數點分隔符從','(逗號)轉換爲'。' (點)例如「7.5」到「7.5」
但我不會告訴我的客戶更改本地化設置只是我的應用程序。
那麼如何轉換這些數字呢?或者如何改變給定範圍的數字格式。 (在那裏需要點,用戶可以輸入逗號或點,或者甚至是逗號分開的數字,例如1,000,000.00 ...)
編輯: 由CStr()限定整個問題,並傳遞字符串。
如果這純粹是爲了顯示目的,那麼您可以在單元格上使用自定義格式字符串。然後,用戶可以繼續使用他們用於輸入數字的本地化設置。我認爲改變本地化設置將是一個壞主意,因爲那時你的客戶可能會錯誤地輸入數字。
這是使用自定義格式字符串格式化數字的一般方法。
╔═════════════╦══════════════════════════╦═══════════════╗
║ To display ║ As ║ Use this code ║
╠═════════════╬══════════════════════════╬═══════════════╣
║ 1234.59 ║ 1234.6 ║ ####.# ║
║ ║ ║ ║
║ 8.9 ║ 8.9 ║ #.000 ║
║ ║ ║ ║
║ 0.631 ║ 0.6 ║ 0.# ║
║ ║ ║ ║
║ 12 ║ 12 ║ #.0# ║
║ ║ ║ ║
║ 1234.568 ║ 1234.57 ║ #.0# ║
║ ║ ║ ║
║ 44.398 ║ 44.398 ║ ???.??? ║
║ 102.65 ║ 102.65 ║ ???.??? ║
║ 2.8 ║ 2.8 ║ ???.??? ║
║ ║ (with aligned decimals) ║ ║
║ ║ ║ ║
║ 5.25 ║ 5 1/4 ║ # ???/??? ║
║ 5.3 ║ 5 3/10 ║ # ???/??? ║
║ ║ (with aligned fractions) ║ # ???/??? ║
╚═════════════╩══════════════════════════╩═══════════════╝
這裏是給微軟的信息中的鏈接區域格式字符串
(更新鏈接11-AUG-2016)
此鏈接可能幫助:HTTP ://msdn.microsoft.com/en-us/library/office/ff195207(v = office.15).aspx –
這部分解決了我的問題。現在數字是「7.5」,但是「7,5」將是vba中的「7」。 :|如何強制用戶輸入帶點的數字? –
你爲什麼要這樣做?你想達到什麼目的?請描述一個典型的場景。 –