我正在尝试创建一个自定义格式,这样数字将以逗号显示为千位分隔符 . 如果数字有一个小数点,我正在努力寻找一个小数点的解决方案(通过试验和错误以及搜索),但如果数字是整数,则没有小数点 .
这就是我想要实现的目标:
- "123"显示为"123"
- "1234"显示为"1,234"
- "1234.5"显示为"1,234.5"
- "1234.56"显示为"1,234.56"
- "1234.567"显示为"1,234.57"
这是我到目前为止所尝试的,无济于事:
Print Format(1234, "Standard") 'Displays "1,234.00"
Print Format(1234, "#,###.##") 'Displays "1,234."
这些不是期望的结果,因为它不必要地显示小数 . 如何在需要时访问小数点,并避免在没有时使用千位分隔符?
2 回答
您可以使用Excel VBA中的自定义格式函数
CustomFormat
完成此任务,如下所示:以下显示的结果符合您的要求:
Note :由于您没有指定如何显示小于1的数字(例如,0.123),请考虑两种可能的解决方案:
CustomFormat
上面显示的VBA功能将显示为.12为了将其显示为0.12,只需在
CustomFormat
函数中更改格式掩码“#,###.##
" to "#,##0.##
”,保持其余部分不变 .希望这可能有所帮助 .
您可以为具有Decimal的那些添加 Conditional Formatting ,然后将默认的Number Format设置为0小数 .
#,##0.##
,除非您希望0.5
为.5