In WPF windows, these properties are actually mapped to the position of the Window, which, as you noted (on Windows), will ultimately map to an integer value.
However, they are defined as doubles, which is nice because they clearly display (and inherit) other properties of the FrameworkElement, that is: FrameworkElement.Width . Elements in the window use double precision because they are designed for independent resolution and allow arbitrary scaling through Transform, etc.
, Window FrameworkElement , FrameworkElement. , . , , - API Windows , () .