c# - 格式化数字以始终具有符号和小数点分隔符

标签 c# .net format string-formatting

<分区>

我想将任何数字(整数或实数)格式化为始终具有符号(正数或负数)和小数分隔符<的字符串表示形式/strong>,但没有尾随零。

一些示例:

3.14 => +3.14
12.00 => +12.
-78.4 => -78.4
-3.00 => -3.

是否可以使用默认的 ToString() 实现之一,还是我需要自己编写?

最佳答案

尝试这样的事情:

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

但这无助于显示尾随小数点。您可以使用此方法处理此类情况:

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

关于c# - 格式化数字以始终具有符号和小数点分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140371/

相关文章:

c# - 使用接口(interface)作为泛型方法的类型参数

c# - 将文件拖到桌面快捷方式 - 不在应用程序中打开文件

c# - 将标准 C++ 字符串编码为 C# 字符串时出现问题

Python - 除法结果中的有效位数

HTML:时间格式中的字母 T - 有什么用?

c# - 如何将复选框值绑定(bind)到整数列表?

c# - 无法将数据更新到 SQL 表中

c# - 如何在 unity/C# 中检测时钟是否设置为 12 小时或 24 小时时间格式?

c# - 处理不明确的时间与夏令时

r - Knitr - 在 R Markdown 中停止上标