Подтвердить что ты не робот

Выражение SSRS для форматирования двух знаков после запятой не показывает нули

Я использую следующее выражение для форматирования моего значения, чтобы показать только две десятичные точки. Что работает нормально, если значение не равно 0. Однако, когда значение равно 0, оно не показывает 0.

например. Используемое выражение

=Format(Fields!CUL1.Value, "##.##")

Если значение CUL1.Value равно 2.5670909, значение, указанное в отчете 2.56 (это замечательно!) Если значение CUL1.Value равно 0,006709, значение не отображается (я бы хотел, чтобы он показывал 0.00) Если значение CUL1.Value равно 0, то не отображается значение (я хотел бы показать 0)

Спасибо.

4b9b3361

Ответ 1

Попробуйте это

=Format(Fields!CUL1.Value,"F2")

Ответ 2

Вам нужно убедиться, что первая цифра справа от десятичной точки всегда отображается. В строках пользовательского формата # означает отображение числа, если оно существует, а 0 означает, что всегда отображается что-то, с 0 в качестве заполнителя.

Итак, в вашем случае вам понадобится что-то вроде:

=Format(Fields!CUL1.Value, "#,##0.##")

Это высказывание: отображает 2 DP, если они существуют, поскольку ненулевая часть всегда отображает самую нижнюю часть и использует в качестве разделителя группировки.

Вот как это выглядит на ваших данных (я добавил большое значение для справки):

enter image description here

Если вам не интересно разделять тысячи, миллионы и т.д., просто используйте #0.##, как предложил Пол-Ян.

Стандартные документы для Пользовательских строк числового формата являются вашей лучшей ссылкой здесь.

Ответ 3

Если вы хотите всегда отображать некоторое значение после десятичного слова, например "12.00" или "12.23" Тогда используйте так, как показано ниже, это сработало для меня

FormatNumber("145.231000",2) Что будет отображаться 145.23

FormatNumber("145",2) Что будет отображаться 145.00

Ответ 4

Format(Fields!CUL1.Value, "0.00") будет работать лучше, так как @abe предполагает, что они хотят показать 0.00, и если значение равно 0, "#0.##" будет показывать "0".

Ответ 5

На самом деле мне понадобилось следующее: избавиться от десятичных знаков без округления, поэтому "12.23" нужно показать как "12". В SSRS не форматируйте число в процентах. Оставьте форматирование по умолчанию (без форматирования), затем в выражении выполните следующие действия: = Fix(Fields!PctAmt.Value*100))

Умножьте число на 100, затем примените функцию FIX в SSRS, которая возвращает только целую часть числа.

Ответ 6

Попробуйте следующий фрагмент кода,

IIF(Round(Avg(Fields!Vision_Score.Value)) = Avg(Fields!Vision_Score.Value), 
Format(Avg(Fields!Vision_Score.Value)), 
FORMAT(Avg(Fields!Vision_Score.Value),"##.##"))

надеюсь, что это поможет, спасибо.