是否有任何方法我可以指定一个标准或自定义数字格式字符串总是输出符号,是+ve或-ve(尽管它应该为零做什么,我不确定!)
是的,你可以。 有条件格式。参见MSDN中的条件格式
eg:
string MyString = number.ToString("+0;-#");
用分号分隔的每个部分代表正数和负数
or:
string MyString = number.ToString("+#;-#;0");
如果你不想让0带正号。
你也可以在string.Format();格式字符串用冒号(':')与索引分隔。
var f = string.Format("{0}, Force sign {0:+#;-#;+0}, No sign for zero {0:+#;-#;0}", number);
对于数字{+1,-1,0},得到:
1,力符号+1,0 +1没有符号 -1,强制符号-1,零没有符号-1 0,强制符号+0,0没有符号
也可以使用插值字符串来代替字符串。格式以获得相同的结果:
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
or
String.Format("{0:+0;-#}", 0)); // output: +0
如果你只使用+#;-#,它将为0显示+(而不是+0)。
“#”自定义说明符(在https://msdn.microsoft.com/en-us/library/0c899ak8.aspx)
请注意,此说明符永远不会显示不是有效数字的零,即使零是字符串中唯一的数字。只有当它是所显示数字中的有效数字时,它才会显示0。
同时请记住,如果你需要任何十进制精度,你需要这样指定它:
String.Format("{0:+0.##;-#.##}", 0)); // output: +0
或者,如果你不想总是出现0,像这样:
String.Format("{0:+0.00;-#.00}", 0)); // output: +0.00
对于任何类型的数值表达式:
+###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;-###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;0
在三种情况下使用三个部分:阳性;阴性;零
这个例子的其他方面:
Zero is not signed. You could have it show as anything, such as "zero". Absolute values less than one have a leading 0 before the decimal point. Adjust to taste. Number of digits is for the largest and smallest absolute decimal values. Adjust to taste. Decimal point character is culture-specific. .NET substitutes. Grouping separators are optional. The character is culture-specific. .NET substitutes. (The positions are also culture-specific but that's only controlled by your format string.) You also use any other character except the special characters for Format (which include , . # 0).
我不能评论,所以我在这里做一个回答(坚果声誉系统....)
你可以使用number.ToString("+0;-#")很好地产生UTC字符串时间格式
这里显示在PowerShell代码中
"$([System.DateTime]::Now.ToString('HH:mm:ss.fff'))$($([System.TimeZoneInfo]::Local.GetUtcOffset([System.DateTime]::Now).TotalMinutes.ToString('+0;-#')))"
谢谢@gcores https://stackoverflow.com/users/40256/gcores
推荐文章
- 返回文件在ASP。Net Core Web API
- 自定义HttpClient请求头
- 如果我使用OWIN Startup.cs类并将所有配置移动到那里,我是否需要一个Global.asax.cs文件?
- VS2013外部构建错误"error MSB4019: The imported project <path> was not found"
- 从另一个列表id中排序一个列表
- 等待一个无效的异步方法
- 无法加载文件或程序集…参数不正确
- c#中枚举中的方法
- 如何从字符串中删除新的行字符?
- 如何设置一个默认值与Html.TextBoxFor?
- 检查属性是否有属性
- 格式化XML字符串以打印友好的XML字符串
- 返回内容与IHttpActionResult非ok响应
- 从IEnumerable<KeyValuePair<>>重新创建字典
- c#测试用户是否有对文件夹的写权限