我有一個查詢。我需要一些改變(,
)至(.
)和(.
)至(,
)(即,1,234.45
- >1.234,45
)。我試過string.Replace()
的方法。它將所有(。)更改爲(,)或(,)爲(。)。如何更改NumberFormat?
請任何人建議我如何做到這一點。
我有一個查詢。我需要一些改變(,
)至(.
)和(.
)至(,
)(即,1,234.45
- >1.234,45
)。我試過string.Replace()
的方法。它將所有(。)更改爲(,)或(,)爲(。)。如何更改NumberFormat?
請任何人建議我如何做到這一點。
只需在替換之間使用臨時字符(例如:'_')即可。
char tempChar = '_';
string originalStr = "1,234.45";
string finalStr = originalStr.Replace(',', tempChar).Replace('.', ',').Replace(tempChar , '.');
你可以嘗試使用:
var str = Convert.ToDecimal("1.2345", new CultureInfo("en-US"));
或類似
var str = decimal.Parse("1.2345", new NumberFormatInfo() { NumberDecimalSeparator = "," });
調用'ToString'像「1000」與文化「EN-US」是不會用了一段來取代逗號'string'。這就是你的_如果它是一個字符串then_部分似乎暗示 – juharr
@juharr: - 沒有看到OP使用小數點。 –
您可以使用ToString
與NumberFormatInfo
decimal value = new decimal(1234.45);
Console.Out.WriteLine(value.ToString("N", new NumberFormatInfo
{
NumberDecimalSeparator = ".",
NumberGroupSeparator = ","
}));
它將輸出
1,234.45
這是一個浮動或字符串? –
@ThomasAyoub,我已經設置的數據類型爲十進制 – Prithiv
這對我來說,看起來像一個[XY問題(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - 可能你更詳細地描述你正在嘗試做什麼? – Default