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

◆ TryFormatFloatingPoint< T >()

static bool System.Buffers.Text.Utf8Formatter.TryFormatFloatingPoint< T > ( T value,
Span< byte > destination,
out int bytesWritten,
StandardFormat format )
inlinestaticprivate
Type Constraints
T :ISpanFormattable 

Definition at line 645 of file Utf8Formatter.cs.

645 : ISpanFormattable
646 {
647 Span<char> span = default(Span<char>);
648 if (!format.IsDefault)
649 {
650 span = stackalloc char[3];
651 span = span[..format.Format(span)];
652 }
653 Span<char> destination2 = stackalloc char[128];
654 ReadOnlySpan<char> readOnlySpan = default(Span<char>);
655 if (value.TryFormat(destination2, out var charsWritten, span, CultureInfo.InvariantCulture))
656 {
657 readOnlySpan = destination2.Slice(0, charsWritten);
658 }
659 else
660 {
661 if (destination.Length <= 128)
662 {
663 bytesWritten = 0;
664 return false;
665 }
666 readOnlySpan = value.ToString(new string(span), CultureInfo.InvariantCulture);
667 }
668 if (readOnlySpan.Length > destination.Length)
669 {
670 bytesWritten = 0;
671 return false;
672 }
673 try
674 {
675 bytesWritten = Encoding.UTF8.GetBytes(readOnlySpan, destination);
676 return true;
677 }
678 catch
679 {
680 bytesWritten = 0;
681 return false;
682 }
683 }
static CultureInfo InvariantCulture
static Encoding UTF8
Definition Encoding.cs:526

References System.destination, System.format, System.Globalization.CultureInfo.InvariantCulture, System.ReadOnlySpan< T >.Length, System.Span< T >.Slice(), System.ReadOnlySpan< T >.ToString(), System.Text.Encoding.UTF8, and System.value.