我应该使用什么CultureInfo或NumberFormat来创建带有double的html/css百分比.ToStr
本文关键字:double html ToStr 百分比 css 创建 什么 CultureInfo NumberFormat 我应该 | 更新日期: 2023-09-27 18:24:45
我正在编写一个ASP.Net MVC4 web应用程序,我想使用C#计算一些元素的大小。
然而,我遇到了一些麻烦,因为css只接受百分比作为xx.yy%
,也就是说,用一个点作为小数分隔符,并且在百分比符号之前没有空格(据我所知)。
问题是,我找不到任何能产生这种百分比的C#文化。似乎英语(US)产生了右小数分隔符,而德语正确地使用了百分比符号(来自http://msdn.microsoft.com/en-us/library/shxtf045(v=vs.85).aspx)
Culture: English (United States)
(P) Percent:. . . . . . . -123,456.70 %
Culture: German (Germany)
(P) Percent:. . . . . . . -123.456,70%
是否有一种文化或数字格式被推荐用于此,或者至少有一种始终有效?或者我需要自己写吗?我该怎么做?
您可以编写自定义扩展方法:
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%(带点,%符号前没有空格)
您可以指定自己的自定义格式字符串:
using System.Globalization;
class Program {
static void Main(string[] args) {
double d = 12.345;
string s = string.Format(CultureInfo.InvariantCulture, "{0:0.00}%", d);
}
}
以下是一些数字格式字符串的输出示例:自定义数字格式字符串输出示例