UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FastDecimalFormat.h File Reference
#include "Concepts/Integral.h"
#include "Containers/UnrealString.h"
#include "CoreTypes.h"
#include "Internationalization/Text.h"
#include "Math/NumericLimits.h"
#include "Misc/CString.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  FDecimalNumberFormattingRules
 
struct  FastDecimalFormat::Internal::FDecimalNumberIntegralLimits
 
struct  FastDecimalFormat::Internal::FDecimalNumberFractionalLimits
 

Namespaces

namespace  FastDecimalFormat
 
namespace  FastDecimalFormat::Internal
 

Macros

#define FAST_DECIMAL_PARSE_INTEGER_IMPL(NUMBER_TYPE)
 
#define FAST_DECIMAL_PARSE_FRACTIONAL_IMPL(NUMBER_TYPE)
 

Functions

void FastDecimalFormat::Internal::IntegralToString (const bool bIsNegative, const uint64 InVal, const FDecimalNumberFormattingRules &InFormattingRules, FNumberFormattingOptions InFormattingOptions, FString &OutString)
 
void FastDecimalFormat::Internal::FractionalToString (const double InVal, const FDecimalNumberFormattingRules &InFormattingRules, FNumberFormattingOptions InFormattingOptions, FString &OutString)
 
bool FastDecimalFormat::Internal::StringToIntegral (const TCHAR *InStr, const int32 InStrLen, const FDecimalNumberFormattingRules &InFormattingRules, const FNumberParsingOptions &InParsingOptions, const FDecimalNumberIntegralLimits &InLimits, bool &OutIsNegative, uint64 &OutVal, int32 *OutParsedLen)
 
bool FastDecimalFormat::Internal::StringToFractional (const TCHAR *InStr, const int32 InStrLen, const FDecimalNumberFormattingRules &InFormattingRules, const FNumberParsingOptions &InParsingOptions, const FDecimalNumberFractionalLimits &InLimits, double &OutVal, int32 *OutParsedLen)
 
template<typename T >
void FastDecimalFormat::NumberToString (const T InVal, const FDecimalNumberFormattingRules &InFormattingRules, const FNumberFormattingOptions &InFormattingOptions, FString &OutString)
 
template<typename T >
FString FastDecimalFormat::NumberToString (const T InVal, const FDecimalNumberFormattingRules &InFormattingRules, const FNumberFormattingOptions &InFormattingOptions)
 
const FDecimalNumberFormattingRulesFastDecimalFormat::GetCultureAgnosticFormattingRules ()
 
uint64 FastDecimalFormat::Pow10 (const int32 InExponent)
 

Macro Definition Documentation

◆ FAST_DECIMAL_PARSE_FRACTIONAL_IMPL

#define FAST_DECIMAL_PARSE_FRACTIONAL_IMPL (   NUMBER_TYPE)
Value:
{ \
double Val = 0.0; \
const bool bResult = Internal::StringToFractional(InStr, InStrLen, InFormattingRules, InParsingOptions, Internal::FDecimalNumberFractionalLimits::FromNumericLimits<NUMBER_TYPE>(), Val, OutParsedLen); \
OutVal = static_cast<NUMBER_TYPE>(Val); \
return bResult; \
} \
{ \
}
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define UE_FORCEINLINE_HINT
Definition Platform.h:723
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
Definition FastDecimalFormat.h:16
Definition Text.h:242
static int32 Strlen(const CharType *String)
Definition CString.h:1047

◆ FAST_DECIMAL_PARSE_INTEGER_IMPL

#define FAST_DECIMAL_PARSE_INTEGER_IMPL (   NUMBER_TYPE)
Value:
{ \
bool bIsNegative = false; \
uint64 Val = 0; \
const bool bResult = Internal::StringToIntegral(InStr, InStrLen, InFormattingRules, InParsingOptions, Internal::FDecimalNumberIntegralLimits::FromNumericLimits<NUMBER_TYPE>(), bIsNegative, Val, OutParsedLen); \
OutVal = static_cast<NUMBER_TYPE>(Val); \
OutVal *= (bIsNegative ? -1 : 1); \
return bResult; \
} \
{ \
}
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117