我需要格式化数字的主要部分(整个),而又不影响或影响小数部分:
12345.123456 becomes 12,345.123456
123.123 becomes 123.123
12345678.123 becomes 12,345,678.123
123 becomes 123
小数部分的长度在小数点后的长度中是可变的,需要保持原样。
格式仅适用于整数。格式化整数很简单,但是如何不影响小数部分。
Format参数应该可以使用任意长度的小数位。
我正在使用以下内容:
Format(123456789.12345,"#,#.#############################")
但是,此解决方案的唯一问题是:
总是假设最大可能的小数位数是使用的#数。
如果数字不带小数,则说“ 123.0”或“ 123”,则输出将为“ 123”。始终带有小数点分隔符(点)。
谢谢
答案 0 :(得分:1)
就像@nicomp一样,您希望将其分为两部分。
dim num as string 'or a double converted to a string
dim nums() as string 'array
num = 123456789.123456
nums = split(num, ".") 'break into array at decimal
nums(0) = format(nums(0), "###,###") 'format whole numbers
num = nums(0) & "." & nums(1) 'recombine
这应该在每三个整数后添加一个逗号