asd*_*dad 2 c# string string.format
如何将Numbers更改为以下内容:
1000应该成为1.000,00,当我有700,它必须是700,00.
当我尝试string.Format("{0:0,000.00}", Number),700变成0.700,00,所以它不好.
你需要
string.Format("{0:#,##0.00}", Number)
Run Code Online (Sandbox Code Playgroud)
您需要将前导占位符指定为#而不是零,这使其成为可选项.
但是,不是"蛮力"来设置数字格式,最好找出你想要的文化格式并CultureInfo为string.format 提供正确的格式.String.Format让您提供格式化文化,如下所示:
var culture = CultureInfo.GetCultureInfo("fr-FR");
var formattedNumber = string.Format(culture , "{0:n}", Number);
Run Code Online (Sandbox Code Playgroud)
(我选择纯粹使用法语作为插图,因为它似乎符合您示例中的要求).
{0:n}如果您关心具有特定格式,那么您不应该使用而不指定文化 - 因为这完全取决于用户/系统的文化设置.
您希望小数分隔符和千位分隔符.
最好的方法是在应用程序级别定义它以保持一致性.
的WinForms:
在program.cs中
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator = ",";
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberGroupSeparator = ".";
Run Code Online (Sandbox Code Playgroud)
ASP.NET
定义基页,并执行:
protected override void InitializeCulture()
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator = ",";
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberGroupSeparator = ".";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11602 次 |
| 最近记录: |