/ / Постигане на същите резултати с ToString () както при String.Format - c #, форматиране

Постигнете същите резултати с ToString (), както при String.Format - c #, форматиране

Не мога да разбера как да изпълнявам тази задача:

Трябва да форматирам десетичен такъв

 var formatted = String.Format("{0:G}%", numberOfDecimalType);

Така че резултатът трябва да бъде номериран с номер с последователен знак%. Проблемът е, че трябва да използвам този резултат .ToString() метод. Опитах numberOfDecimalType.ToString("G%") и различни други варианти, но не помогна

Възможно ли е?

Отговори:

3 за отговор № 1

Можете да добавяте буквални знаци с помощта на a персонализиран низ от цифров формат:

var formatted = numberOfDecimalType.ToString(@"#,##0.##%");

Това обратно наклонена черта гарантира това % се третира като буквален характер, а не като специална инструкция за форматиране.

Имайте предвид обаче, че това не е така точен замяна на G, т.е. може да се наложи да коригирате броя на #s, за да побере необходимия брой десетични знаци.


3 за отговор № 2

Няма да можете да добавите "%" до края с помощта на единичен ToString обадете се; ще трябва да форматирате десетичната отметка ToString и след това да добавите знака за процента поотделно:

var formatted = numberOfDecimalType.ToString("G") + "%";

2 за отговор № 3

Може просто да добавите процента, нали?

formatted = numberOfDecimalType.ToString("G") + "%";