If you are able to, i would alter the data feed into your report and handle it that way.
See example t-sql below.
DECLARE @MoneyValue NVARCHAR(200) = '40.403285923';
DECLARE @MoneyValue2 NVARCHAR(200) = '49';
DECLARE @TextValue NVARCHAR(200) ='im not a number';
SELECT CAST(ROUND(CAST(@MoneyValue AS FLOAT),2) AS MONEY)
SELECT CASE WHEN ISNUMERIC(@TextValue ) = 1 THEN CAST(CAST(ROUND(CAST(@TextValue AS FLOAT), 2) AS MONEY) AS NVARCHAR(200)) ELSE @TextValue END