В отчете у меня есть элемент управления, привязанный к столбцу, который может иметь до 3 десятичных знаков.
Я хочу, чтобы число форматировалось с запятыми, разделяющими тысячи и миллионы, но я также хочу, чтобы количество десятичных разрядов было автоматическим, чтобы, если не было десятичной части, то вообще не отображалось десятичное число.
1234.567 -> 1,234.567
1234.560 -> 1,234.56
1234.500 -> 1,234.5
1234.000 -> 1,234
Общий формат даст мне автоматические десятичные разряды, но без запятых. Стандартный формат дает запятую, но фиксируется до 2 десятичных знаков. Выполнение собственного формата = Number (Number, "#, ## 0. #") оставляет десятичную точку и не выравнивается должным образом, с дополнительным пробелом справа от числа.
Должен ли я написать свою собственную функцию VB, чтобы дать желаемый формат? Кажется глупым, что Access (по-видимому) не может сделать это из коробки.
Это также кажется действительно ужасным, хотя это работает.
=Replace(Replace(Replace(Replace(Replace( _
Format(Number, "#,##0.000") & "x", _
"0x", "x"), "0x", "x"), "0x", "x"), ".x", ""), "x", "")