간단한 빼기가있는 부동 소수점 오류나는 JMP가 2 개의 간단한 숫자를 올바르게 빼낼 수 있는지 말하지 않지만 다음 숫자를 시도했다.
16.11-15.12
0.99 (좋아요, 지금까지 그렇게 좋았습니다)
15.29-15.18
0.109999999999999 (별로 좋지 않음)
15.29-15.19
0.0999999999999997 (일곱 살입니까?)
그럼 내가 놓은 고리가 어디 있니?
이 문제는 스크립트 편집기의 JMP 12.2.0 (64 비트)에서 발생합니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류나는
format(mean(y),6)
보고서에서 아주 작은 숫자는 1.574e-6으로 변환되어 많은 공간을 사용하지 않습니다.
그러나
Format( 1.2345, "Precision", 3)
"유효 자릿수"를위한 방법 일 것입니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류"유효 숫자"에 대해서는 "형식"기능과 함께 "정밀"형식을 사용하여 얻을 수 있습니다. 또한 "Char"함수는 표시를 위해 Round 연산을 건너 뛰려는 경우 두 개의 덧셈 인수를 지원합니다. 하나는 너비이고 다른 하나는 소수 자릿수입니다.
Char( 15.29 - 15.19, 10, 2); // "0.10"
Format( 12.345, "Precision", 3); // "12.3"
Format( 1.2345, "Precision", 3); // "1.23"
원래의 문제와 관련해서는 컴퓨터가 2 진수 (2 진수)로 숫자를 저장하지만 10 진수로 표시하고 "0.1"과 같은 10 진수 숫자는 2 진수로 표시되지 않습니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류나는 네가 무엇을 요구하고 있는지 확신하지 못한다. 이 함수에 유효 숫자와 소수 자릿수를 지정하는 옵션이 있는지 묻는다면 대답은 아니오입니다. 이러한 옵션을 추가 할 것인지 묻는다면 JMP Development의 문제입니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류입력에 대한 THX, 작은 질문, 쇼, 문자 및 라운드에 대한 "n 자리 유효 숫자"로 옵션을 고려합니까? 그것은 많은 도움이 될 것입니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류문제를 설명하기 위해 JMP 문제가 아니라 Excel에서 일어나는 일이 여기에 있습니다.
| 엑스 |
와이 |
X - Y 수식 |
| 16.11 |
15.12 |
0.99000000000000000 |
| 15.29 |
15.18 |
0.10999999999999900 |
| 15.29 |
15.19 |
0.09999999999999960 |
제목 : Re : 간단한 빼기와 부동 숫자 오류이해 했어. Round () 함수를 사용한 예제는 부동 소수점 숫자와 관련 산술의 제한된 정밀도를 처리하는 한 가지 방법을 설명하기위한 것이 었습니다.보다 복잡한 사례를 처리 할 수있는 더 풍부한 솔루션을 구축 할 수 있습니다.
당신이 사용 했습니까? 도움 > 서적 > 스크립팅 가이드 또는 도움 > 스크립팅 인덱스 Round () 또는 Char () 함수의 기능을 보려면?
제목 : Re : 간단한 빼기와 부동 숫자 오류이 자료를 읽으십시오. JMP 수치 정확도 스프레드 시트와 같은 다른 인기있는 소프트웨어에 대한 백서를 찾을 수 있습니다. 그것은 알려진 문제이지만 일반적으로 문제는 아닙니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류조용히하지 말고, 그것을 "확장"하기 위해서 (그리고 왜 나를 괴롭히는 지) 정밀도는 사용자 입력에 달려있다.
그가 15.29mm와 15.19mm를 사용한다면 그는 Round (x, 2)로 정확한 0.1mm를 얻을 것입니다.
그가 0.01529m와 0.01519m을 사용한다면 그는 0m을 얻게 될 것이고 결과를보고 나서는 아마 내 문에 세워질 것입니다. * g *
그리고 "유효 자릿수"가 라운드 나 숯처럼 지원되는지 알 수 없습니다.
제목 : Re : 간단한 빼기와 부동 숫자 오류에서 수학 , 단순한 산술은 15.29 - 15.18 = 0.11과 15.29 - 15의 차이에서 정확한 결과를 산출합니다. 19 = 0.10. 그러나 JMP의 결과는 유한 정밀 연산 컴퓨터에서. 결과는 실수가 부동 소수점 수로 표현되는 방식과 산술 연산자가이 표현으로 어떻게 작동하는지에 따라 달라집니다. 연산자의 결과와 수학적 결과가 일치하지 않는 경우를 찾는 것은 어렵지 않습니다.
JMP는 이러한 연산을 위해 표준 부동 소수점 숫자 소프트웨어 라이브러리 또는 전용 하드웨어 부동 소수점 프로세서를 사용할 수 있습니다.
확장 또는 '무제한'정밀도 (물리적 자원에 의해서만 제한됨)를 사용하는 소프트웨어가 있지만 일반적으로 회귀 분석과 같은 통계적 방법의 실제 결과는 변경되지 않습니다.
귀하의 경우에 하나의 솔루션은 수식 또는 스크립트에서 결과를 반올림하는 것입니다.
Round( 15.2900000 - 15.1900000, 2 )
그런 다음 결과가 0.1이됩니다. 문제 해결됨.