I got a decimal property, like
[XmlElementAttribute(DataType = \"decimal\")] decimal Price
The problem is that I wanna force it to serialize always
I was having the opposite problem. My decimals were serializing with 4 decimal places, even though they were all 4 zeroes. I discovered that if I call decimal.Round(value, 2)
then it serializes to 2 decimal places. It would appear that the Decimal type remembers what you last rounded it too when it is serialized.
I was suspicious of the suggestion, but it worked that simply. Even though the value didn't need rounding, calling Round changed how many decimal places showed up in serialization.