Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryFormatUInt64D()

static bool System.Buffers.Text.Utf8Formatter.TryFormatUInt64D ( ulong value,
byte precision,
Span< byte > destination,
bool insertNegationSign,
out int bytesWritten )
inlinestaticprivate

Definition at line 948 of file Utf8Formatter.cs.

949 {
950 int num = FormattingHelpers.CountDigits(value);
951 int num2 = ((precision != byte.MaxValue) ? precision : 0) - num;
952 if (num2 < 0)
953 {
954 num2 = 0;
955 }
956 int num3 = num + num2;
957 if (insertNegationSign)
958 {
959 num3++;
960 }
961 if (num3 > destination.Length)
962 {
963 bytesWritten = 0;
964 return false;
965 }
966 bytesWritten = num3;
967 if (insertNegationSign)
968 {
969 destination[0] = 45;
970 destination = destination.Slice(1);
971 }
972 if (num2 > 0)
973 {
974 FormattingHelpers.FillWithAsciiZeros(destination.Slice(0, num2));
975 }
976 FormattingHelpers.WriteDigits(value, destination.Slice(num2, num));
977 return true;
978 }

References System.Buffers.Text.FormattingHelpers.CountDigits(), System.destination, System.Buffers.Text.FormattingHelpers.FillWithAsciiZeros(), System.value, and System.Buffers.Text.FormattingHelpers.WriteDigits().

Referenced by System.Buffers.Text.Utf8Formatter.TryFormatInt64D(), and System.Buffers.Text.Utf8Formatter.TryFormatUInt64().