2014-03-28 126 views
1

是的。我知道。這些都是本地化設置...將小數點分隔符從','(逗號)轉換爲'。' (點)例如「7.5」到「7.5」

但我不會告訴我的客戶更改本地化設置只是我的應用程序。

那麼如何轉換這些數字呢?或者如何改變給定範圍的數字格式。 (在那裏需要點,用戶可以輸入逗號或點,或者甚至是逗號分開的數字,例如1,000,000.00 ...)

編輯: 由CStr()限定整個問題,並傳遞字符串。

+1

此鏈接可能幫助:HTTP ://msdn.microsoft.com/en-us/library/office/ff195207(v = office.15).aspx –

+0

這部分解決了我的問題。現在數字是「7.5」,但是「7,5」將是vba中的「7」。 :|如何強制用戶輸入帶點的數字? –

+0

你爲什麼要這樣做?你想達到什麼目的?請描述一個典型的場景。 –

回答

3

如果這純粹是爲了顯示目的,那麼您可以在單元格上使用自定義格式字符串。然後,用戶可以繼續使用他們用於輸入數字的本地化設置。我認爲改變本地化設置將是一個壞主意,因爲那時你的客戶可能會錯誤地輸入數字。

這是使用自定義格式字符串格式化數字的一般方法。

╔═════════════╦══════════════════════════╦═══════════════╗ 
║ 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)

https://support.office.com/en-gb/article/Create-or-delete-a-custom-number-format-78f2a361-936b-4c03-8772-09fab54be7f4

+0

試過這個它根本不起作用。 1234,56需要顯示爲1234.56,就像請求的OP一樣,但是使用####。##顯示爲1.234,這是不正確的。 – GuidoG

+0

@GuidoG我不知道...我不明白爲什麼1234,56會顯示爲1.234。他們甚至不是相同的號碼。 – Sam

+0

因此,答案中的代碼無效。它仍然顯示。作爲小數分隔符和千位分隔符。 – GuidoG

相關問題