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

◆ GetFloatingPointMaxDigitsAndPrecision()

static int System.Number.GetFloatingPointMaxDigitsAndPrecision ( char fmt,
ref int precision,
NumberFormatInfo info,
out bool isSignificantDigits )
inlinestaticprivate

Definition at line 1631 of file Number.cs.

1632 {
1633 if (fmt == '\0')
1634 {
1635 isSignificantDigits = true;
1636 return precision;
1637 }
1638 int result = precision;
1639 switch (fmt)
1640 {
1641 case 'C':
1642 case 'c':
1643 if (precision == -1)
1644 {
1645 precision = info.CurrencyDecimalDigits;
1646 }
1647 isSignificantDigits = false;
1648 break;
1649 case 'E':
1650 case 'e':
1651 if (precision == -1)
1652 {
1653 precision = 6;
1654 }
1655 precision++;
1656 isSignificantDigits = true;
1657 break;
1658 case 'F':
1659 case 'N':
1660 case 'f':
1661 case 'n':
1662 if (precision == -1)
1663 {
1664 precision = info.NumberDecimalDigits;
1665 }
1666 isSignificantDigits = false;
1667 break;
1668 case 'G':
1669 case 'g':
1670 if (precision == 0)
1671 {
1672 precision = -1;
1673 }
1674 isSignificantDigits = true;
1675 break;
1676 case 'P':
1677 case 'p':
1678 if (precision == -1)
1679 {
1680 precision = info.PercentDecimalDigits;
1681 }
1682 precision += 2;
1683 isSignificantDigits = false;
1684 break;
1685 case 'R':
1686 case 'r':
1687 precision = -1;
1688 isSignificantDigits = true;
1689 break;
1690 default:
1691 throw new FormatException(SR.Argument_BadFormatSpecifier);
1692 }
1693 return result;
1694 }

References System.SR.Argument_BadFormatSpecifier, and System.info.

Referenced by System.Number.FormatDouble(), System.Number.FormatHalf(), and System.Number.FormatSingle().