C# 我应该使用什么CultureInfo或NumberFormat来使用double.ToString创建html/css百分比?
我正在编写一个ASP.Net MVC4 web应用程序,我想用C#计算一些元素的大小 但是,我遇到了一些麻烦,因为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
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.##%"));