将int转换为具有特定格式的字符串

时间:2016-12-14 14:57:16

标签: c# string winforms integer

我正在尝试转换经典的整数值,如:

2000

采用以下格式:

2.000,00

我尝试过以下方法:

String.valueOf(input.format());

这个方法:

private String getCents(Decimal x){
    String y = String.valueOf(x);
    String z = '.';
    if(y.contains(',')) z = ',';
    y = y.substring(0, y.indexOf(z));
    if(x - Decimal.valueOf(y) == 0)
        return String.valueOf(x.format()) + z + '00';
    else return String.valueOf(x.format());
}

但由于某种原因,字符串类不包含valueOf方法。还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

鉴于美国文化 这样做:

string.Format(CultureInfo.GetCultureInfo("en-US"), "{0:N}", 2000)

答案 1 :(得分:1)

String不包含方法valueOf,因为这不是Java,你知道。 您要搜索的方法是ToString,它允许格式提供程序作为参数。最简单的方法是另一个定义格式的字符串。

    int i = 2000;
    Console.WriteLine(i.ToString("#,##0.00"));
    Console.ReadLine();

这将做你想做的事。 在ToString方法的文档中阅读有关格式提供程序的更多信息。

相关问题