나는이 같은 sprintf 사용하여 double 값 문자열을 채우기 위해 노력하고 있어요 : sprintf(S, "%f", val);
그러나 정밀도가 소수점 여섯 자리까지 자른다. 정밀도를 위해 소수점 이하 10 자리가 필요합니다. 어떻게 달성 될 수 있습니까? sprintf(S, "%.10f", val);
남자의 sprintf는 형식 지정자에 대한
참조 된 here 및 here ... 왜 엡실론 방법보다 2의 보수를 사용해야합니까? 엡실론 방법이 대부분의 경우에 충분할 것으로 보입니다. 업데이트 : 나는 순전히 당신이 다른 통해 하나를 사용하십시오 왜 이론적 이유를 찾고 있어요. 저는 항상 엡실론 방법을 사용했습니다. 2의 보수 비교를 성공적으로 사용한 사람이 있습니까? 왜? 왜 안돼?
일부 재무 관련 SQL 코드를 디버깅 할 때 수치 (24,8) 수학 정밀도에 이상한 문제가 있음을 발견했습니다. 당신이 A +에서 B * C를 발현 결과가 0.123457 SELECT A, B, C, A + B * C FROM ( SELECT CAST로 얻을 것이다 당신의 MSSQL에서 다음 쿼리를 실행 (0.12345678 AS NUMERIC (24,8)
릴리스 모드 및 디버그 모드로 컴파일 할 때 내 응용 프로그램이 다른 부동 소수점 값을 생성합니다. 내가 발견 한 유일한 이유는 바이너리 추적 로그를 저장하고 릴리스 빌드의 디버그 빌드가 디버그 빌드에서 약간 벗어 났기 때문에 32 비트 부동 소수점 값의 아래쪽 두 비트가 1/2 정도 차이가 나는 것처럼 보입니다. 케이스의. 이 "차이점"을 버그로 간주하거
그래서 저는 저의 문제를 해결하기 위해 파이썬 스크립트를 작성하여 물리학 과제를 풀기로했습니다. 필자가 중점적으로 다루는 한 가지 문제점은 중요한 인물이 항상 제대로 나오지 않는 것입니다. from decimal import Decimal
>>> Decimal('1.0') + Decimal('2.0')
Decimal("3.0")
을하지만이되지 않습니
CSharp에서 float을 구문 분석하는 가장 좋은 방법은 무엇입니까? TryParse에 대해 알고 있습니다. 특히 점, 쉼표 등이 궁금합니다. 내 웹 사이트에 문제가 있습니다. 내 dev에 서버에서 ','십진수, '.' 분리기 용. 그러나 찌르다 서버에서, 그것은 다른 방법 라운드입니다. 이것을 가장 잘 캡처하려면 어떻게해야합니까?
가 나는 double 값 f을 가지고 (이상 또는 이하) 여전히 원래하지만 최대한 가까운보다 확실히 더 클 수있는 새로운 가치를 아주 약간 큰 (또는 작은)를 조금씩 이동하는 방법을하고자하는 원래 . 이 가까이 아래에있을 필요가 없습니다 마지막 비트는 내가 다른 값을 생성하고 다시 원래로 반올림하지 않도록 보장 할 어떤 변화가 더 중요합니다.
IF 문이 무엇을하는지 정확히 이해하지 못했습니다. 변수 x이 0과 같은지 확인하고 있습니다. 이것이 true 인 경우 변수 y의 ABSOLUTE 값이 반환됩니다 ...이 점은 제가 그래프를 잃었을 때 리턴 문이 <= ESPILON을 포함하는 이유는 무엇입니까? 분명히 이것은 엡실론의 값보다 작거나 같음을 의미합니까? 그렇다면 어떻게 작동합니까? 그것이 의
AFAIK, Delphi Win32의 통화 유형은 프로세서 부동 소수점 정밀도에 따라 다릅니다. 이 때문에 두 개의 통화 값을 비교할 때 반올림 문제가 발생하여 컴퓨터에 따라 다른 결과가 반환됩니다. 현재 저는 십진수 2 자릿수 만 필요하기 때문에 Epsilon 매개 변수 = 0.009를 전달하는 SameValue 함수를 사용하고 있습니다. 이 문제를 방지