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

◆ TryFormatDecimal()

static unsafe bool System.Number.TryFormatDecimal ( decimal value,
ReadOnlySpan< char > format,
NumberFormatInfo info,
Span< char > destination,
out int charsWritten )
inlinestatic

Definition at line 1571 of file Number.cs.

1572 {
1573 int digits;
1574 char c = ParseFormatSpecifier(format, out digits);
1575 byte* digits2 = stackalloc byte[31];
1576 NumberBuffer number = new NumberBuffer(NumberBufferKind.Decimal, digits2, 31);
1577 DecimalToNumber(ref value, ref number);
1578 char* pointer = stackalloc char[32];
1579 ValueStringBuilder sb = new ValueStringBuilder(new Span<char>(pointer, 32));
1580 if (c != 0)
1581 {
1582 NumberToString(ref sb, ref number, c, digits, info);
1583 }
1584 else
1585 {
1586 NumberToStringFormat(ref sb, ref number, format, info);
1587 }
1588 return sb.TryCopyTo(destination, out charsWritten);
1589 }
static char ParseFormatSpecifier(ReadOnlySpan< char > format, out int digits)
Definition Number.cs:2657
static unsafe void NumberToStringFormat(ref ValueStringBuilder sb, ref NumberBuffer number, ReadOnlySpan< char > format, NumberFormatInfo info)
Definition Number.cs:2817
static unsafe void DecimalToNumber(ref decimal d, ref NumberBuffer number)
Definition Number.cs:1591
static void NumberToString(ref ValueStringBuilder sb, ref NumberBuffer number, char format, int nMaxDigits, NumberFormatInfo info)
Definition Number.cs:2715
bool TryCopyTo(Span< char > destination, out int charsWritten)

References System.Number.DecimalToNumber(), System.destination, System.format, System.info, System.Number.NumberToString(), System.Number.NumberToStringFormat(), System.Number.ParseFormatSpecifier(), System.pointer, System.Text.ValueStringBuilder.TryCopyTo(), and System.value.

Referenced by System.Decimal.TryFormat().