diff --git a/src/richtext/richtextformatdlg.cpp b/src/richtext/richtextformatdlg.cpp index 9a03da62d9..601f3bdfde 100644 --- a/src/richtext/richtextformatdlg.cpp +++ b/src/richtext/richtextformatdlg.cpp @@ -691,7 +691,9 @@ bool wxRichTextFormattingDialog::ConvertFromString(const wxString& str, int& ret float value = 0.0; wxSscanf(str.c_str(), wxT("%f"), &value); // Convert from cm - ret = (int) ((value * 100.0) /* + 0.5 */); + // Do this in two steps, since using one step causes strange rounding error for VS 2010 at least. + float v = (value * 100.0); + ret = (int) (v); return true; } else if (unit == wxTEXT_ATTR_UNITS_PERCENTAGE) @@ -703,7 +705,8 @@ bool wxRichTextFormattingDialog::ConvertFromString(const wxString& str, int& ret { float value = 0.0; wxSscanf(str.c_str(), wxT("%f"), &value); - ret = (int) ((value * 100.0) /* + 0.5 */); + float v = (value * 100.0); + ret = (int) (v); } else if (unit == wxTEXT_ATTR_UNITS_POINTS) {