7

我有 int 变量,例如:

int money = 1234567890;

我如何插入“。” 变成钱,并使其格式如下:

1.234.567.890
4

4 回答 4

15

你可以简单地这样做:

var text = money.ToString("N0",
    System.Globalization.CultureInfo.GetCultureInfo("de"));

结果是:

1.234.567.890

(我刚刚选择了德国文化,因为我知道他们使用.分隔符。)

于 2012-11-26T03:41:09.310 回答
7

您可以使用NumberFormatInfo.NumberGroupSeparator

NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat;
nfi.NumberGroupSeparator = ".";
Int64 myInt = 1234567890;
Console.WriteLine( myInt.ToString( "N", nfi ) );

链接到ideone。

于 2012-11-26T03:43:53.447 回答
4

要获得准确的格式,请使用

int money = 1234567890;
money.ToString(@"#\.###\.###\.##0");

有关自定义格式的更多信息,请点击此处。您需要转义点,否则第一个将被解释为十进制。如果要显示零值,则最后需要 0。

于 2012-11-26T03:35:43.697 回答
1

如果您想要“金钱”格式,请尝试:

    int money = 1234567890;
    string moneyString = String.Format("{0:C}", money);

返回 "$1,234,567,890.00"

我不确定什么货币格式使用“。” 而不是“,”,但这可能只是一个全球化的事情。

于 2012-11-26T03:35:17.307 回答