从'转换小数点分隔符,' (逗号)到'。' (点)例如" 7,5"至" 7.5"

时间:2014-03-28 09:42:15

标签: excel vba number-formatting

是。我知道。那些是本地化设置......

但我不会告诉我的客户只更改我的应用程序的本地化设置。

那么如何转换这些数字呢?或者如何更改给定范围的数字格式。 (需要点,用户可以输入逗号或点,甚至是逗号分开的数字,如1,000,000.00 ......)

编辑: CStr()绕过整个问题,并传递字符串。

1 个答案:

答案 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) ║ # ???/???     ║
╚═════════════╩══════════════════════════╩═══════════════╝

这是指向区域格式字符串的Microsoft信息的链接

(更新链接11-aug-2016)

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