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

◆ Format()

static string System.Xml.Xsl.XsltOld.NumberAction.Format ( ArrayList numberlist,
List< FormatInfo > tokens,
string lang,
string letter,
string groupingSep,
string groupingSize )
inlinestaticprivate

Definition at line 462 of file NumberAction.cs.

463 {
465 int num = 0;
466 if (tokens != null)
467 {
468 num = tokens.Count;
469 }
470 NumberingFormat numberingFormat = new NumberingFormat();
471 if (groupingSize != null)
472 {
473 try
474 {
476 }
477 catch (FormatException)
478 {
479 }
480 catch (OverflowException)
481 {
482 }
483 }
484 if (groupingSep != null)
485 {
486 _ = groupingSep.Length;
487 _ = 1;
488 numberingFormat.setGroupingSeparator(groupingSep);
489 }
490 if (0 < num)
491 {
492 FormatInfo formatInfo = tokens[0];
493 FormatInfo formatInfo2 = null;
494 if (num % 2 == 1)
495 {
496 formatInfo2 = tokens[num - 1];
497 num--;
498 }
499 FormatInfo formatInfo3 = ((2 < num) ? tokens[num - 2] : s_defaultSeparator);
500 FormatInfo formatInfo4 = ((0 < num) ? tokens[num - 1] : s_defaultFormat);
501 if (formatInfo != null)
502 {
503 stringBuilder.Append(formatInfo.formatString);
504 }
505 int count = numberlist.Count;
506 for (int i = 0; i < count; i++)
507 {
508 int num2 = i * 2;
509 bool flag = num2 < num;
510 if (0 < i)
511 {
512 FormatInfo formatInfo5 = (flag ? tokens[num2] : formatInfo3);
513 stringBuilder.Append(formatInfo5.formatString);
514 }
515 FormatInfo formatInfo6 = (flag ? tokens[num2 + 1] : formatInfo4);
516 numberingFormat.setNumberingType(formatInfo6.numSequence);
517 numberingFormat.setMinLen(formatInfo6.length);
518 stringBuilder.Append(numberingFormat.FormatItem(numberlist[i]));
519 }
520 if (formatInfo2 != null)
521 {
522 stringBuilder.Append(formatInfo2.formatString);
523 }
524 }
525 else
526 {
527 numberingFormat.setNumberingType(NumberingSequence.FirstDecimal);
528 for (int j = 0; j < numberlist.Count; j++)
529 {
530 if (j != 0)
531 {
532 stringBuilder.Append('.');
533 }
534 stringBuilder.Append(numberingFormat.FormatItem(numberlist[j]));
535 }
536 }
537 return stringBuilder.ToString();
538 }
static CultureInfo InvariantCulture
static readonly FormatInfo s_defaultFormat
static readonly FormatInfo s_defaultSeparator

References System.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Dictionary, System.Globalization.CultureInfo.InvariantCulture, System.Xml.Xsl.XsltOld.NumberAction.s_defaultFormat, System.Xml.Xsl.XsltOld.NumberAction.s_defaultSeparator, and System.Convert.ToInt32().