I'm the guy that has written the parser behind the Expression Editor component. I have just looked at how we handle the decimal separator and here is the exact code from our source:
DecimalSeparator = NumberFormatInfo.NumberDecimalSeparator.FirstOrDefault();
This means that we are using the invariant culture decimal number separator, which is ".". We have done it this way so that a given string expression is valid for all clients no matter of their local machine regional and language settings.
The actual problem in your case is that binary operator (*) is not defined for decimal (UnitPrice field is decimal) and double (2.5 is parsed as double) numbers. If you mouse over the red error underline you will see this problem reported in a tool tip. What we can do under the hood is to create a conversion for the entered double to a decimal number. This will bring a precision lost in some rear cases, but will work in the general case like yours. What you can currently try out is to enter this one: UnitPrice * 2.5e0
. This will signal our parser that 2.5 is a decimal number and the runtime will be able to multiply two decimal numbers.
Thanks for bringing this to our attention. Your feedback is greatly appreciated.
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items