2012-01-30 103 views
1

的例子說明了這個問題格式小數localizated和格式化

預期:

首先嚐試:

const decimal value = 17.59m; 
const string format = "{0:0,000}"; 
var result = string.Format(format, value); 

這將導致課程的0,018因爲文化爲en-US和,被解釋爲千位分隔符。

第二個嘗試:

const decimal value = 17.59m; 
var result = Convert.ToString(value, CultureInfo.GetCultureInfo("pt-BR")); 

現在,我得到17,59

如何使用asp.net框架功能我合併的格式和定位?

+0

你沒有做任何分析這裏(即獲得一個字符串的'decimal'),但_formatting_得到的字符串表示的' decimal'。 – Oded 2012-01-30 20:07:46

回答

2

您可以直接在decimal值上調用ToString - 它具有重載格式字符串和CultureInfo對象的重載。

請注意,在數字格式字符串中,小數點分隔符表示爲.(將轉換爲相應的小數點分隔符)。

此:

var result = 17.59m.ToString("0.000", CultureInfo.GetCultureInfo("pt-BR")); 

產地:

17,590 
+0

謝謝,可選的是用參數隱藏了ToString。 – Custodio 2012-01-30 20:08:41