是否有任何办法,我可以指定一个标准或定义的数字格式串一直出的标志,将它+已经或ve(尽管是什么它应该做的为零,我不知道!)

有帮助吗?

解决方案

是的,可以。 没有条件格式。请参阅 href="http://msdn.microsoft.com/en-us/library/0c899ak8.aspx" rel="noreferrer">条件格式

例如:

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

其中由分号分隔的每个部分代表正数和负数

或:

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

如果你不希望零到有一个加号。

其他提示

当心,使用条件格式负值不自动获得一个符号时。你需要做的。

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

您还可以使用的String.Format格式字符串();格式字符串从索引分离用冒号(“:”)

var f = string.Format("{0}, Force sign {0:+#;-#;+0}, No sign for zero {0:+#;-#;0}", number);

有关数{1,-1,0}这给出:

  

1,力符号1,没有迹象零+1点击   -1,力符号-1,没有迹象零-1点击   0,力符号0,没有迹象零0

您也可以使用内插的字符串而不是string.Format以获得相同的结果:

var f = $"{number}, Force sign {number:+#;-#;+0}, No sign for zero {number:+#;-#;0}";

相反,其他的答案似乎是,如果你想获得+ 1,-1,+ 0(用于参数1,-1,0),您需要使用以下格式:

String.Format("{0:+#;-#;+0}", 0));  // output: +0

String.Format("{0:+0;-#}", 0));  // output: +0

如果你只使用+#;-#它将显示只是+(未+0)为0

<强>的 “#” 自定义说明符(在的https:// MSDN。 microsoft.com/en-us/library/0c899ak8.aspx

  

请注意,这个说明符从未显示一个零这不是一个显著位数,即使是零字符串中的唯一的数字。它将显示零仅当它是在正在显示的数目的显著位。

也请记住,如果你需要任何小数精度,你需要这样的规定是:

String.Format("{0:+0.##;-#.##}", 0));  // output: +0

或者,如果你wan't零总是展现出来,这样的:

String.Format("{0:+0.00;-#.00}", 0));  // output: +0.00

对一个数字表达的任何类型:

+###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;-###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;0

使用三个部分为三种情况:正;负;零

其他方面的例子:

  • 零没有签名。你可以拥有它显示为任何东西,例如"零"。

  • 绝对值小于一个具有0领先前的小数点。调整的味道。

  • 数量的数字是最大的和最小的绝对小数值。调整的味道。

  • 小数点后的位数字是文化的特定的。.净的替代品。

  • 分离器组都是可选的。字符的文化特有的。.净的替代品。(该职位也是文化特有的,但这仅仅通过控制你的字符串格式。) 你还有使用任何其他的性格除了特殊字符格式(其中包括.#0).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top