Format a number to always have a sign and decimal separator [duplicate]

瘦欲@ 提交于 2019-12-01 18:28:51

Try something like this:

double x = -12.43;
string xStr = x.ToString("+0.#####;-0.#####");

But this wouldn't help to display trailing decimal point. You can handle such situations using this method:

public static string MyToString(double x)
{
    return x == Math.Floor(x)
        ? x.ToString("+0;-0;0") + CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
        : x.ToString("+0.####;-0.####");
}

You can try like this:

string myFormatedString = number.ToString("+#;-#");

The format string you want to use is

ToString("N", CultureInfo.InvariantCulture) // Displays -12,445.68

See here for additional options for format strings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!