如何将数字更改为以下内容:
1000
应该成为1.000,00
,当我有的时候700
,它必须是700,00
。
当我尝试string.Format("{0:0,000.00}", Number)
时,700
变成0.700,00
了,所以它不好。
如何将数字更改为以下内容:
1000
应该成为1.000,00
,当我有的时候700
,它必须是700,00
。
当我尝试string.Format("{0:0,000.00}", Number)
时,700
变成0.700,00
了,所以它不好。
你需要
string.Format("{0:#,##0.00}", Number)
您需要将前导占位符指定为 # 而不是零,这使其成为可选的。
但是,与其“蛮力”设置数字格式,不如确定您的目标是哪种文化格式并CultureInfo
为 string.format 提供正确的格式。String.Format
允许您提供如下格式的文化:
var culture = CultureInfo.GetCultureInfo("fr-FR");
var formattedNumber = string.Format(culture , "{0:n}", Number);
(我选择纯粹使用法语作为说明,因为它似乎符合您示例中的要求)。
如果您关心具有特定格式,您不应该做的是在{0:n}
不指定文化的情况下使用 - 因为这完全取决于用户/系统的文化设置。
CultureInfo
在string.Format中提供正确的
您希望小数分隔符为 ,千位分隔符为 。
最好的方法是在应用程序级别定义它以保持一致性。
窗体:
在 program.cs 中
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator = ",";
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberGroupSeparator = ".";
ASP.NET
定义一个基本页面,然后执行:
protected override void InitializeCulture()
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator = ",";
System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberGroupSeparator = ".";
}
使用格式字符串格式化数字时,无论小数分隔符是用于格式化的区域性,.
都是占位符。类似,
地用作千位分隔符。
您需要在正确的位置使用它们,并使用一种将 a,
用作小数分隔符和.
千位分隔符的区域性。
string.Format(CultureInfo.GetCultureInfo("de-DE"), "{0:n}", 1000)
产生1.000,00
.
string.Format(CultureInfo.GetCultureInfo("en-GB"), "{0:n}", 1000)
产生1,000.00
.
您是否尝试根据需要设置 NumberFormat
NumberFormatInfo num = new NumberFormatInfo();
num.NumberDecimalSeparator = ",";
num.NumberGroupSeparator = ".";
string samp = 70000.00.ToString("N2",num); // prints 70.000,00
试试这个 String.Format("{0:n}", 1000 )
试试String.Format("#,0.##")
。这个对我有用。
输入:800
输出:800,00
输入:1400
输出:1.400,00
我使用德国文化作为数字格式。也许你必须指定它,这取决于你的文化。
这将起作用:
NumberFormatInfo num = new CultureInfo("de-DE", false).NumberFormat;
double myDigit = 123456789; // you can also use int
string output = myDigit.ToString("N0" , num);
//output = 123.456.789
如果你使用ToString("F" , num)
你可以使用123456789.33
,你的输出将是123.456.789,33