double 値を丸めずに小数点以下 1 桁にフォーマットする必要があります。
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% です
事前に助けてくれてありがとう。