C #Как отформатировать двойное число до одного десятичного знака без округления

Мне нужно отформатировать двойное значение до одного десятичного знака без округления.

double value = 3.984568438706
string result = "";

Я пробовал:

1)

result = value.ToString("##.##", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
// returns 3.98%

2)

result = value.ToString("##.#", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
// returns 4%

3)

 result = value.ToString("##.0", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
 // returns 4.0%

4)(Следуя другим предложениям)

value = (value / 100);
result = String.Format("{0:P1}", Math.Truncate(value * 10000) / 10000);
// returns 4.0%

result = string.Format("{0:0.0%}",value); // returns 4.0%

Мне нужно отобразить значение 3,9%

. Спасибо за любую помощь заранее.

20
задан Nathan Koop 31 July 2012 в 16:05
поделиться