>I use a double field with 15 decimals because I do unit conversions on the fly when the user changes the unit (droplist in another column).
>The DynanicInputMask Property of the column displaying the converted number depends on a mask assigned to the unit (ex:gal=999.9, lb=9999, kg=9999).
>The value gets truncated instead of rounded. (1.58156897 will display 1.5 instead of 1.6 for mask 999.9)
>My column is bound to my field ans I don't want my field value to be rounded, just "displayed" as rounded.
>
>Thanks for your help.
InputMask,trasform(),... truncated the number by design,
because the C++ code, first build the number string in full mode,
after it apply the mask.
If the cell is not editable, then you can output an expression
column.controlsource="(ROUND(fieldnumber,dynamicround)"
if the cell is editable, a solution exists ( not checked ):
column.bound=.F.
column.Sparse=.T.
column.controlsource="(ROUND(fieldnumber,dynamicround))"
column.DynanicInputMask = "..."
column.text1.Controlsource = ""
column.text1.GotFocus
this.InputMask = "...."
this.Value = ROUND(fieldnumber,dynamicround)
column.text1.Valid
replace field with m.this.Value
....