에서 FLOAT를 사용하여 소수 자릿수를 변환하는 방법이 SO question에서 OP는 소수 자릿수를 0으로 놓으려고했습니다. 이제이 문제를 해결하기 위해 내가 쓴 (아래) 예제는 DECIMAL로 CAST하고 FLOAT로 CAST했다. SELECT CAST(0.55 AS FLOAT)
0.55의 올바른 결과를 가져올 것 같다 위의 예제를 사용 및 SQL
일부 재무 관련 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)
주파수 분포를 계산하고 부동 소수점 반올림 오류 문제를 해결하기 위해 Perl에서 Statistics::Descriptive 라이브러리를 사용하고 있습니다. 통계 모듈에 다른 숫자와 sprintf'd라는 두 개의 값 0.205와 0.205를 전달하고 빈도 분포를 계산하도록 요청하지만 무한 루프에 걸려 있습니다. 나는 그것을하고있어 볼 수있는 디버거를 통해
이중 값이 최소, 최대 및 단계 값으로 정의 된 범위의 구성원인지 유효성을 검사하는 알고리즘을 구성하려고합니다. 문제는 값이 단계 규칙을 따르는 지 확인하는 것입니다. 정수의 경우이 작업을 쉽게 수행 할 수 있습니다. boolean validate(int value, int min, int step, int max){
return value >=