No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
The numeric types float, double, decimal, and int are sort of apples from the same tree and MDriven exposes ways to go from all numeric types to decimal. The operator is called | The numeric types [[float]], [[double]], [[decimal]], and [[Integer|int]] are sort of apples from the same tree and MDriven exposes ways to go from all numeric types to decimal. The operator is called ''toDecimal''. | ||
Sometimes, you may want to assign from one type to another like this: | Sometimes, you may want to assign from one type to another like this: | ||
Line 8: | Line 8: | ||
self.PaymentMenuRequest.VatPercent:=vTypAvBiljett.BiljettPrisMoms.todouble | self.PaymentMenuRequest.VatPercent:=vTypAvBiljett.BiljettPrisMoms.todouble | ||
These are valid assignments but you change precision and lose fractions when converting to simpler types: | These are valid assignments but you change precision and lose fractions when converting to simpler types: | ||
self.SomeInt:=self.SomeDouble | |||
self.SomeDouble:=self.SomeInt | |||
self.SomeDecimal:=self.SomeInt | |||
self.SomeDecimal:=self.SomeDouble.todecimal | |||
self.SomeInt:=self.SomeDecimal | |||
self.SomeDouble:=self.SomeDecimal.todouble | |||
[[Category:OCL]] |
Revision as of 07:12, 22 August 2023
The numeric types float, double, decimal, and int are sort of apples from the same tree and MDriven exposes ways to go from all numeric types to decimal. The operator is called toDecimal.
Sometimes, you may want to assign from one type to another like this:
self.PaymentMenuRequest.VatPercent:=vTypAvBiljett.BiljettPrisMoms
but you get an error like 998: In ":="
, one of the arguments must conform to the other (Nullable<System.Double> and Nullable<System.Decimal> do not).
Solve like this:
self.PaymentMenuRequest.VatPercent:=vTypAvBiljett.BiljettPrisMoms.todouble
These are valid assignments but you change precision and lose fractions when converting to simpler types:
self.SomeInt:=self.SomeDouble
self.SomeDouble:=self.SomeInt
self.SomeDecimal:=self.SomeInt
self.SomeDecimal:=self.SomeDouble.todecimal
self.SomeInt:=self.SomeDecimal
self.SomeDouble:=self.SomeDecimal.todouble