답변:
그래 넌 할수있어. 조건부 서식이 있습니다. MSDN의 조건부 서식 참조
예 :
string MyString = number.ToString("+0;-#");
세미콜론으로 구분 된 각 섹션이 양수와 음수를 나타내는 경우
또는:
string MyString = number.ToString("+#;-#;0");
0에 더하기 부호를 원하지 않으면
+#;-#
, 값 0의 경우 "0"을 얻습니다. 실제 0은 없습니다. 0은 "+0"으로 표시되기를 원합니다 +#;-#;+0
.
''
큰 일을 할 것입니다! 이것 좀 봐 Changes.ToString("'('#' ▲)';'('#' ▼)';''")
! 그것은 많은 시간과 수백 개의 if
진술을 저에게 구했습니다 ! :)
+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, 영점 부호 없음 +1
-1, 힘 부호 -1, 영점 부호 없음 -1
0, 힘 부호 +0, 부호 없음 0
string.Format
동일한 결과를 얻는 대신 보간 문자열을 사용할 수도 있습니다.
var f = $"{number}, Force sign {number:+#;-#;+0}, No sign for zero {number:+#;-#;0}";
+#;-#
0 의 형식에 대한 실제 결과이기 때문에
+0;-#
. :)
+#;-#;+0
이상 +#;-#
이 0 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 )
이 지정자는 문자열에서 0이 유일한 숫자 인 경우에도 유효 숫자가 아닌 0을 표시하지 않습니다. 표시되는 숫자에서 유효 숫자 인 경우에만 0이 표시됩니다.
또한 십진 정밀도가 필요한 경우 다음과 같이 지정해야합니다.
String.Format("{0:+0.##;-#.##}", 0)); // output: +0
또는 항상 표시하지 않으려면 다음과 같이하십시오.
String.Format("{0:+0.00;-#.00}", 0)); // output: +0.00
모든 유형의 숫자 표현식의 경우 :
+###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;-###,###,###,###,###,###,###,###,###,##0.###,###,###,###,###,###,###,###,###,###;0
세 가지 경우에 세 부분을 사용하십시오. 긍정적; 부정적; 제로
예제의 다른 측면들 :
0은 부호가 없습니다. "zero"와 같은 것으로 표시 할 수 있습니다.
1보다 작은 절대 값은 소수점 앞에 0을 갖습니다. 맛에 맞게 조정하십시오.
자릿수는 최대 및 최소 절대 10 진수 값입니다. 맛에 맞게 조정하십시오.
소수점 문자는 문화에 따라 다릅니다. .NET 대체품.
그룹화 구분 기호는 선택 사항입니다. 캐릭터는 문화에 따라 다릅니다. .NET 대체품. 위치는 문화에 따라 다르지만 형식 문자열로만 제어됩니다. 또한 Format의 특수 문자 (.. # 0 포함)를 제외한 다른 문자를 사용합니다.
댓글을 달 수 없으므로 여기에 답하십시오 (너트 평판 시스템 ....)
number.ToString ( "+ 0;-#")을 사용하여 UTC 문자열 TimeFormat을 매우 잘 만들 수 있습니다
PowerShell 코드에 표시
"$([System.DateTime]::Now.ToString('HH:mm:ss.fff'))$($([System.TimeZoneInfo]::Local.GetUtcOffset([System.DateTime]::Now).TotalMinutes.ToString('+0;-#')))"
감사합니다 @gcores https : //.com/users/40256/gcores