백분율의 표준 숫자 형식에 공간이 포함되는 이유는 무엇입니까?
-
21-08-2019 - |
문제
뒷이야기
더 큰 문자열의 일부로 웹 페이지에 문자열로 표시되는 소수점 값이 있습니다. 표준 숫자 형식 문자열을 사용하여이를 출력했습니다. 예를 들어
myDecimal.ToString("P0")
그만큼 0
후 P
소수점이없는 곳을 원한다고 말합니다. 이것은 내 OUPUT가 다음과 같은 것을 보게된다는 점에서 다음과 같이하는 한 멀리 작동합니다.
공간 문제2 %의 단계적 최소 회사 기여율에 따라 상기와 같이 계산
나는 어떤 경우에는 줄을 가로 질러 분할 된 것처럼 숫자와 백분율 부호 사이의 공간을 제거하고 싶습니다. 또한, 나는 %를 숫자로 올리는 것을 선호합니다.
가능한 해결 방법
1. HTML / CSS 솔루션나는 넣을 수있다 <nobr>
태그 또는 a <span style="white-space: nowrap;">
주변. 그러나, 그것은 어색한 느낌이 들며, 어쨌든 나는 그것이 더 좋아 보인다고 생각할 때 %를 숫자보다 바로 맞추는 것을 선호합니다. 우리가 숲의 목에 보고서에 글을 쓰는 방법이므로 웹 페이지에서 원하는 방식입니다.
나는 사용자 정의 숫자 형식 문자열을 사용하여 끝날 것입니다.
myDecimal.ToString("0%")
질문
숫자와 백분율 부호 사이의 공간이있는 백분율을 표시하는 것이 더 일반적입니까? 이것은 나를 놀라게 할 것이지만, 그럴 수도 있습니다.
말할 수있는 방법이 있습니까? 표준 숫자 형식 문자열 나는 공간을 원하지 않습니까?
사용에 대한 단점이 있습니까? 사용자 정의 숫자 형식 문자열 ~ 위로 표준 숫자 형식 문자열?
좋아 - 나는 그것을 인정한다. 그것은 하나 이상의 질문이었다 - 당신이 그들 모두에게 대답한다면 추가 크레딧.
해결책
보고 있습니다 http://www.nasdaq.com/ 또는 http://finance.yahoo.com/ 중간에 공간이없는 숫자 직후의 백분율 부호가 일반적 인 것 같습니다 :)
그것은 아마도 문화에 달려 있고, 기본 (불변) 벌을 꿀벌 n %에 달려 있습니다.
다른 팁
이것은 나를 위해 효과가있었습니다.
System.Globalization.CultureInfo newCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
newCulture.NumberFormat.PercentPositivePattern = 1; // Avoid putting a space between a number and its percentage
System.Threading.Thread.CurrentThread.CurrentCulture = newCulture;
기본 퍼센트 PositivePattern 값을 변경하려면 새로운 CultureInfo 객체를 생성하고 기본값 대신 "en-us"인 기본 대신 사용해야합니다. (또는 Web.config의 문화로 "en-za"를 지정할 수 있지만 명백한 이유로 권장하지는 않습니다.)
에 큰 게시물이 있습니다 ASP 포럼 이 모든 작업을 수행하는 방법을 설명합니다. 세 번째 포스터 (M0Brien)가 작성한 코드를 참조하십시오. 그의 정확한 코드를 마스터 페이지의 page_load 메소드에 복사하여 더 이상 생각할 필요가 없습니다.
물론, 항상 string.format (). Replace ( "", string.empty)를 수행 할 수 있지만 사이트 전체에서이를 수행해야합니다. 또한 솔직히, 소매를 굴리고 세계화 가치를 가지고 놀 수있을 때의 재미는 어디입니까 ???