diff --git a/doc/EABase.html b/doc/EABase.html
index 0be38e2..3c92d8a 100644
--- a/doc/EABase.html
+++ b/doc/EABase.html
@@ -201,6 +201,8 @@
Compiler Definitions
EA_COMPILER_NO_UNWIND
+EA_COMPILER_NO_FLOATS
+
EA_COMPILER_IS_ANSIC
diff --git a/include/Common/EABase/int128.h b/include/Common/EABase/int128.h
index 068d557..20991f3 100644
--- a/include/Common/EABase/int128.h
+++ b/include/Common/EABase/int128.h
@@ -73,9 +73,11 @@ struct EA_INT128_ALIGNAS int128_t_base
// EA_CONSTEXPR explicit operator char32_t() const;
// EA_CONSTEXPR explicit operator wchar_t() const;
#endif
+#if !defined(EA_COMPILER_NO_FLOATS)
EA_CONSTEXPR explicit operator float() const;
EA_CONSTEXPR explicit operator double() const;
EA_CONSTEXPR explicit operator long double() const;
+#endif
#if EA_INT128_INTRINSIC_AVAILABLE
EA_CONSTEXPR explicit operator __int128() const;
EA_CONSTEXPR explicit operator unsigned __int128() const;
@@ -280,9 +282,11 @@ EA_CONSTEXPR inline int128_t_base::operator unsigned int() const { return
EA_CONSTEXPR inline int128_t_base::operator unsigned long long() const { return static_cast(Low()); }
EA_CONSTEXPR inline int128_t_base::operator unsigned long() const { return static_cast(Low()); }
EA_CONSTEXPR inline int128_t_base::operator unsigned short() const { return static_cast(Low()); }
+#if !defined(EA_COMPILER_NO_FLOATS)
EA_CONSTEXPR inline int128_t_base::operator float() const { return static_cast(Low()); }
EA_CONSTEXPR inline int128_t_base::operator double() const { return static_cast(Low()); }
EA_CONSTEXPR inline int128_t_base::operator long double() const { return static_cast(Low()); }
+#endif
#if EA_INT128_INTRINSIC_AVAILABLE
EA_CONSTEXPR inline int128_t_base::operator __int128() const { return static_cast<__int128>(Low()); }
EA_CONSTEXPR inline int128_t_base::operator unsigned __int128() const { return static_cast(Low()); }