Lubię formatować wszystkie liczby, jak w matematyce. czy istnieje predefiniowana funkcja, czy jest to możliwe z podłańcuchem i zastąpić?jak sformatować 1700 na 1'700 i 1000000 na 1 000 000 w C#?
EDIT: moja kultura jest de-ch
poważaniem
Lubię formatować wszystkie liczby, jak w matematyce. czy istnieje predefiniowana funkcja, czy jest to możliwe z podłańcuchem i zastąpić?jak sformatować 1700 na 1'700 i 1000000 na 1 000 000 w C#?
EDIT: moja kultura jest de-ch
poważaniem
Spróbuj
int input = Convert.ToInt32("1700");
string result = String.Format("{0:##,##}", input);
Albo ten
Console.WriteLine(1700.ToString("##,##", new NumberFormatInfo() { NumberGroupSeparator = "'" }));
działa idealnie, także z różnymi kulturami. Dziękuję Ci. –
Spróbuj tego:
Console.WriteLine(1000000.ToString("#,##0").Replace(
CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator, "'"));
Albo
NumberFormatInfo likeInMath = new NumberFormatInfo()
{
NumberGroupSeparator = "'"
};
Console.WriteLine(1000000.ToString("#,##0", likeInMath));
To nie działa na moim komputerze. Wydrukowano "1 000 000". Moja kultura to nb-NO – Svish
@Svish, naprawiłem to, spójrz, –
korzystanie int.ToString() oraz iFormatProvider.
wziąć również do obejrzenia tutaj msdn.
var numformat = new NumberFormatInfo {
NumberGroupSeparator = "'",
NumberGroupSizes = new int[] { 3 },
NumberDecimalSeparator = "."
};
Console.WriteLine(1000000.ToString("N",numformat));
zawsze używam tego formatu
"#,##0;#,##0'-';0"
więc można go używać w
int input = Convert.ToInt32("100000000");
string result = String.Format("{#,##0;#,##0'-';0}", input);
których język/kultura jest? –
Dla 1000000 dlaczego miałbyś dwa różne separatory grupowe? Ciekawe, w jakim kraju się znajdujesz? Nigdy nie widziałem apostrofów (do tyłu lub do przodu) używanych do separatorów grupowych - w moim odczuciu jest to zwykle przecinek, spacja lub kropka. –
Nie mam dwóch ... to pomyłka .. im sry –