Ответ 1
Попробуйте это
=Format(Fields!CUL1.Value,"F2")
Я использую следующее выражение для форматирования моего значения, чтобы показать только две десятичные точки. Что работает нормально, если значение не равно 0. Однако, когда значение равно 0, оно не показывает 0.
например. Используемое выражение
=Format(Fields!CUL1.Value, "##.##")
Если значение CUL1.Value равно 2.5670909, значение, указанное в отчете 2.56 (это замечательно!) Если значение CUL1.Value равно 0,006709, значение не отображается (я бы хотел, чтобы он показывал 0.00) Если значение CUL1.Value равно 0, то не отображается значение (я хотел бы показать 0)
Спасибо.
Попробуйте это
=Format(Fields!CUL1.Value,"F2")
Вам нужно убедиться, что первая цифра справа от десятичной точки всегда отображается. В строках пользовательского формата #
означает отображение числа, если оно существует, а 0
означает, что всегда отображается что-то, с 0 в качестве заполнителя.
Итак, в вашем случае вам понадобится что-то вроде:
=Format(Fields!CUL1.Value, "#,##0.##")
Это высказывание: отображает 2 DP, если они существуют, поскольку ненулевая часть всегда отображает самую нижнюю часть и использует в качестве разделителя группировки.
Вот как это выглядит на ваших данных (я добавил большое значение для справки):
Если вам не интересно разделять тысячи, миллионы и т.д., просто используйте #0.##
, как предложил Пол-Ян.
Стандартные документы для Пользовательских строк числового формата являются вашей лучшей ссылкой здесь.
Если вы хотите всегда отображать некоторое значение после десятичного слова, например "12.00" или "12.23" Тогда используйте так, как показано ниже, это сработало для меня
FormatNumber("145.231000",2)
Что будет отображаться 145.23
FormatNumber("145",2)
Что будет отображаться 145.00
Format(Fields!CUL1.Value, "0.00")
будет работать лучше, так как @abe
предполагает, что они хотят показать 0.00
, и если значение равно 0, "#0.##"
будет показывать "0"
.
На самом деле мне понадобилось следующее: избавиться от десятичных знаков без округления, поэтому "12.23" нужно показать как "12". В SSRS не форматируйте число в процентах. Оставьте форматирование по умолчанию (без форматирования), затем в выражении выполните следующие действия: = Fix(Fields!PctAmt.Value*100))
Умножьте число на 100, затем примените функцию FIX в SSRS, которая возвращает только целую часть числа.
Попробуйте следующий фрагмент кода,
IIF(Round(Avg(Fields!Vision_Score.Value)) = Avg(Fields!Vision_Score.Value),
Format(Avg(Fields!Vision_Score.Value)),
FORMAT(Avg(Fields!Vision_Score.Value),"##.##"))
надеюсь, что это поможет, спасибо.