Учитывая ваш самый последний комментарий (т. Е. «База данных возвращает заполненный номер 1.110, например»), ваши данные не имеют от до трех десятичных цифр; они имеют точно три десятичных знака. Если это для mailmerge, вы можете получить как разделитель тысяч, так и подавление конечных 0 с полем, закодированным как:
{= {MERGEFIELD MyField} #, 0. ###}
Там, где число заканчивается завершающим десятичным числом 0, вы в итоге получите пробел, где в противном случае будет 0, а в случае целого числа вы получите конечный десятичный знак. Если вы действительно хотите опустить все эти завершающие элементы, вам следует изменить данные, чтобы они сохранялись в соответствующем формате; в противном случае для достижения желаемого результата потребуется некоторое довольно сложное кодирование поля:
{QUOTE {SET Val {MERGEFIELD MyField}} {IF {= INT (Val) # 0,000} = {REF Val} {= INT (Val) #, 0} {IF {= INT (Val * 10) / 10 # 0.000} = {REF Val} {= Val #, 0.0} {IF {= INT (Val * 100) / 100 # 0.000} = {REF Val} {= Val #, 0,00} {= Val #, 0.000} }}}}
Примечание: Пары фигурных скобок (т. Е. '{}') Для приведенных выше примеров все создаются в самом документе с помощью Ctrl-F9 (Cmd-F9 на Mac); Вы не можете просто напечатать их или скопировать и вставить их из этого сообщения. Также нецелесообразно добавлять их через какие-либо стандартные диалоги Word. Все поля, представленные в полевых конструкциях, являются обязательными.