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

◆ DecimalToNumber()

static unsafe void System.Number.DecimalToNumber ( ref decimal d,
ref NumberBuffer number )
inlinestaticpackage

Definition at line 1591 of file Number.cs.

1592 {
1593 byte* digitsPointer = number.GetDigitsPointer();
1594 number.DigitsCount = 29;
1595 number.IsNegative = d.IsNegative;
1596 byte* bufferEnd = digitsPointer + 29;
1597 while ((d.Mid | d.High) != 0)
1598 {
1599 bufferEnd = UInt32ToDecChars(bufferEnd, decimal.DecDivMod1E9(ref d), 9);
1600 }
1601 bufferEnd = UInt32ToDecChars(bufferEnd, d.Low, 0);
1602 int num = (number.DigitsCount = (int)(digitsPointer + 29 - bufferEnd));
1603 number.Scale = num - d.Scale;
1604 byte* digitsPointer2 = number.GetDigitsPointer();
1605 while (--num >= 0)
1606 {
1607 *(digitsPointer2++) = *(bufferEnd++);
1608 }
1609 *digitsPointer2 = 0;
1610 }
static unsafe byte * UInt32ToDecChars(byte *bufferEnd, uint value, int digits)
Definition Number.cs:2360

References System.Number.UInt32ToDecChars().

Referenced by System.Number.FormatDecimal(), System.Buffers.Text.Utf8Formatter.TryFormat(), and System.Number.TryFormatDecimal().