Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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# 我应该使用什么CultureInfo或NumberFormat来使用double.ToString创建html/css百分比?_C#_Html_Css_Tostring - Fatal编程技术网

C# 我应该使用什么CultureInfo或NumberFormat来使用double.ToString创建html/css百分比?

C# 我应该使用什么CultureInfo或NumberFormat来使用double.ToString创建html/css百分比?,c#,html,css,tostring,C#,Html,Css,Tostring,我正在编写一个ASP.Net MVC4 web应用程序,我想用C#计算一些元素的大小 但是,我遇到了一些麻烦,因为css只接受百分比为xx.yy%,即小数点分隔符,百分比符号前没有空格(据我所知) 问题是,我找不到任何产生这种百分比的C#文化。似乎英语(美国)产生了正确的小数分隔符,而德语正确使用了百分比符号(from) 是否有一种文化或数字格式被推荐用于此目的,或者至少有一种文化或数字格式始终有效?或者我需要自己编写,我将如何继续编写?您可以指定自己的自定义格式字符串: using Syste

我正在编写一个ASP.Net MVC4 web应用程序,我想用C#计算一些元素的大小

但是,我遇到了一些麻烦,因为css只接受百分比为
xx.yy%
,即小数点分隔符,百分比符号前没有空格(据我所知)

问题是,我找不到任何产生这种百分比的C#文化。似乎英语(美国)产生了正确的小数分隔符,而德语正确使用了百分比符号(from)


是否有一种文化或数字格式被推荐用于此目的,或者至少有一种文化或数字格式始终有效?或者我需要自己编写,我将如何继续编写?

您可以指定自己的自定义格式字符串:

using System.Globalization;
class Program {
    static void Main(string[] args) {
        double d = 12.345;
        string s = string.Format(CultureInfo.InvariantCulture, "{0:0.00}%", d);
    }
}

以下是一些数字格式字符串的输出示例:

您可以编写自定义扩展方法:

public static string ToPercentageString(this double d)
{
    return d.ToString("p", CultureInfo.InvariantCulture).Replace(" ", string.Empty);
}
试试这个:

double number = 0.8623;
Console.WriteLine(number.ToString("#0.##%"));

这应该会产生86.23%(带点,在%符号前没有空格)

为什么数字是用MVC格式的?百分比只能是-99.99到99.99,也许不要使用“toString”?我的问题是,只要我不指定区域性,它就会使用我的挪威语区域性,插入逗号,即使明确指定了点。然而,不变量文化似乎是有效的!
double number = 0.8623;
Console.WriteLine(number.ToString("#0.##%"));