Как правило, на любом языке вы не можете рассчитывать на равенство типов типа float. В вашем случае, поскольку у вас больше контроля, похоже, что 0.1 не является плавающим по умолчанию. Вы, вероятно, могли бы выяснить это с помощью sizeof (0.1) (вместо sizeof (self.scroller.currentValue).
Это особо не рекомендуется Microsoft. Любое решение, которое вы можете придумать, будет мерзким взломом, который, вероятно, скоро перестанет работать.
Подумайте об этом так: кто вы такие, чтобы определять эти настройки? Вам не кажется, что это решение пользователя?
Вернемся к теме: найдите однозначный формат для взаимодействия приложений, например ГГГГММДД
. Отображаемое приложение может просто уважать фактические пользовательские настройки, как и должно.
Но, поскольку вы не можете их изменить, просто войдите в реестр:
Текущий пользователь:
HKEY_CURRENT_USER\Control Panel\International
Конкретный пользователь:
HKEY_USERS\(user SID)\Control Panel\International
] Пользователь по умолчанию:
HKEY_USERS\.DEFAULT\Control Panel\International
sShortDate
, вероятно, значение, которое вы хотите изменить.
Если вы собираетесь изменить профиль в соответствии со своими потребностями, почему бы просто не проигнорировать настройки профиля и жестко не указать нужный формат в своем приложении?