2016-12-14 66 views
0

我试图像一个传统的整数值转换:INT转换为字符串以特定格式

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

此问题已在此建立的答案:http://stackoverflow.com/questions/105770/net-string-format-to-add-commas-in-thousands-place-for-a-number – ScoobyDrew18

+1

你确定你在找C#吗?你发现的是java的 –

+0

@TimSchmelter哎呀我想在C#中的string类可能有一个一个用Java ... ^^ – User987

回答

1

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

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

这会做你想做的事情。 了解更多关于在ToString方法的文档格式提供。

+0

将这个意味着比大号码2000年?像20000? 20.000,00? – User987

+0

是的,说,阅读有关MSDN上提供。我的例子可以确保数字froups由逗号分隔,并且有一个0,传值<1个 –

+0

好了THX很多,接受UR答案! :) – User987

1

给定的EN-US区域性 这会做:

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

一会儿同样的方法我会尽力解决方案 – User987