.net
의 문자열로 복식을 변환 할 때 과학 표기법을 피하십시오.. 순 개발자는 종종 이중
값을 문자열로 변환 할 때 특히 과학 표기법 형식을 피할 때 문제가 발생합니다. 이 기사는 강력하고 효율적인 솔루션을 제시합니다.
소수점 정밀도 유지
매우 크거나 작은 숫자를 포함하여 광범위한 double
값을 정확하게 나타 내기 위해서는 충분한 소수점 정밀도를 유지하는 것이 중요합니다. double
값은 -308에서 308 범위의 지수를 가질 수 있으므로 소수점을 최대 15 곳으로 이동시킬 수 있으므로 상당수의 소수점 자리를 수용해야합니다.
사용자 정의 번호 형식 문자열
doublefixedpoint = "0" 새 문자열 ( '#', 339);
doubleFixedPoint = "0." new string('#', 339);
효율성과 유용성 이 접근법은 형식화 및 문자열 조작이 최적화되지 않은 CLR 코드에 의해 처리되므로 매우 효율적입니다. 향상된 유용성을 위해 형식 문자열을 상수로 정의하는 것을 고려하십시오 :
public static 클래스 형식 형식 { public const string doublefixedpoint = "0. ################################## #################################### ##########################################################################. #################################### ##########################################################################. #################################### ##########################################################################. #################################### ##########################################################################. #################################### ##########################################################################. ######################################## "; }
doubleFixedPoint = "0." new string('#', 339);
중요한 참고 사항 : 진정으로 무한하지 않습니다 이 메소드는 "r"형식 지정자의 디스플레이 라운드를 효과적으로 모방하지만 완벽하게 무한 변환은 아닙니다. 왕복 (문자열로 변환하고 데이터 손실없이
double로 돌아가는 경우 "r"형식을 사용하는 것과 같은 대체 접근 방식을 고려하여보다 정확한 솔루션을 고려하십시오.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3