IT-개발,DB
숫자가 아님 NaN
SB리치퍼슨
2021. 1. 10. 22:26
숫자가 아님 NaN
컴퓨터 연산에서 NaN(Not a Number, not a real number)은 연산 과정에서 잘못된 입력을 받았음을 나타내는 기호이다. ... 예를 들어서, 대부분의 부동소수점 장치는 음수에 대해서 제곱근을 구하려는 연산에 대해서 이것은 불가능(invalid)하다는 메시지와 함께 NaN 값을 반환한다.
예를 들면, 0으로 나눈 값
모든 개발언어에서 지원한다. C++, Delphi, Java, Python, C#, VisualBasic, Javascript 등등
// Example code : Assign NAN to a number and then test using IsNaN
var
float : Double;
begin
// Set the number to an invalid number
float := NaN; // Equivalent to 0.0/0.0
// Although an invalid number, we can still display it
ShowMessage('float = '+FloatToStr(float));
// And we can test to see if it is a valid number
if IsNaN(float)
then ShowMessage('float is not a number')
else ShowMessage('float = '+FloatToStr(float));
end;
참고로 추가로 많이 사용되는 키워드
Nil = Nothing; zero; pointer value to 0. A pointer value that is defined as undetermined
const Nil = Pointer(0);
Null = 정의 되지 않은 값. The Null variable has an undefined value.
var
Answer : Variant;
begin
Answer := Divide(4,2);
// Show the result of this division
if Answer = Null
then ShowMessage('4 / 2 = Invalid')
else ShowMessage('4 / 2 = '+IntToStr(Answer));
Answer := Divide(4,0);
// Show the result of this division
if Answer = Null
then ShowMessage('4 / 0 = Invalid')
else ShowMessage('4 / 0 = '+IntToStr(Answer));
end;
function TForm1.Divide(Dividend, Divisor: Integer) : Variant;
begin
// Try to divide the Dividend by the Divisor
try
Result := Dividend div Divisor;
except
Result := Null ; // Assign Null if the division threw an error
end;
end;
반응형