Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 十进制到百分比格式化程序_C# 4.0 - Fatal编程技术网

C# 4.0 十进制到百分比格式化程序

C# 4.0 十进制到百分比格式化程序,c#-4.0,C# 4.0,我使用的格式是{0:P2}它返回正确的值,但问题是它在值和%symbol之间提供了空间。如何删除该空间 例如: String.Format("Value: {0:P2}.", 0.8526) // formats as 85.26 % 我想删除85.26和%symbol之间的空格 string ret = "Value: " + String.Format("{0:P2}.", 0.8526).Replace(" ", ""); 返回:值:85.26%。要做到这一点还有很长的路要走: S

我使用的格式是
{0:P2}
它返回正确的值,但问题是它在值和%symbol之间提供了空间。如何删除该空间

例如:

String.Format("Value: {0:P2}.", 0.8526) // formats as 85.26 %  
我想删除85.26和%symbol之间的空格

string ret = "Value: " + String.Format("{0:P2}.", 0.8526).Replace(" ", "");

返回:值:85.26%。

要做到这一点还有很长的路要走:

String formatedPercent = String.Format("{0:P2}",0.8526);
String[] splitFormated = formatedPercent.Split(" ");
Sting output = "Value: " + splitFormated[0] + splitFormated[1];
返回“值:85.26%”

关于:

//using System.Globalization;
string result = String.Format(CultureInfo.InvariantCulture, "Value: {0:0.00%}", 0.8526); //85.26% 

百分比值的格式由设置值格式时使用的控制。更具体地说,控制格式,对于您来说,该属性的值为0,导致模式
n%
,但您希望使用1,而不是
n%
。在您的情况下,由于在格式化值时未指定
CultureInfo
NumberFormatInfo
,因此使用当前区域性进行格式化(用户在Windows中设置的区域性)。您可以对此进行克隆并进行修改:

var cultureInfo = CultureInfo.CurrentCulture;
var numberFormat = (NumberFormatInfo) cultureInfo.NumberFormat.Clone();
numberFormat.PercentPositivePattern = 1;
var result = String.Format(numberFormat, "Value: {0:P2}.", 0.8526);

要设置负数格式,您必须相应地修改。

谢谢您的回复。我正在为这个{0:0.#%}找到另一种格式。谢谢您的回复。我正在为这个{0:0.#%}找到另一种格式。