2016-12-14 82 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

相關問題