倍精度浮動小数点数の符号を示す値を返します。
Overloads Public Shared Function Sign( _
ByVal value As Double _) As Integer
[C#]
public static int Sign(doublevalue);
[C++]
public: static int Sign(doublevalue);
[JScript]
public static function Sign(
value : double) : int;
パラメータ
- value
符号付き数値。
戻り値
value の符号を示す数値。
数値 | 説明 |
---|---|
-1 | value が 0 未満です。 |
0 | value が 0 です。 |
1 | value が 0 より大きい値です。 |
例外
例外の種類 | 条件 |
---|---|
ArithmeticException | value と NaN が等価です。 |
使用例
' This example demonstrates Math.Sign()
Imports System
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine
Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D
' The following type is not CLS-compliant: SByte
Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16 ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32 ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64 ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not supported: SByte", nl)
End Sub 'Main
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class 'Sample
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte : 0 is equal to zero.
'Int16 : -2 is less than zero.
'Int32 : -3 is less than zero.
'Int64 : -4 is less than zero.
'Single : 0 is equal to zero.
'Double : 6 is greater than zero.
'Decimal: -7 is less than zero.
'
'The following type is not supported: SByte
'
[C#]
// This example demonstrates Math.Sign()
using System;
class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7m;
// The following type is not CLS-compliant.
sbyte xSbyte1 = -101;
Console.WriteLine("{0}Test the sign of the following types of values:", nl);
Console.WriteLine(str, "Byte ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16 ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32 ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64 ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));
//
Console.WriteLine("{0}The following type is not CLS-compliant.", nl);
Console.WriteLine(str, "SByte ", xSbyte1, Test(Math.Sign(xSbyte1)));
}
//
public static String Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:
Test the sign of the following types of values:
Byte : 0 is equal to zero.
Int16 : -2 is less than zero.
Int32 : -3 is less than zero.
Int64 : -4 is less than zero.
Single : 0 is equal to zero.
Double : 6 is greater than zero.
Decimal: -7 is less than zero.
The following type is not CLS-compliant.
SByte : -101 is less than zero.
*/
[C++]
// This example demonstrates Math.Sign()
#using <mscorlib.dll>
using namespace System;
String* Test(int compare)
{
if (compare == 0)
return S"equal to";
else if (compare < 0)
return S"less than";
else
return S"greater than";
}
int main()
{
String* str = S"{0}: {1,3} is {2} zero.";
String* nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;
// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine(S"{0}Test the sign of the following types of values:", nl);
Console::WriteLine(str, S"Byte ", __box(xByte1), Test(Math::Sign(xByte1)));
Console::WriteLine(str, S"Int16 ", __box(xShort1), Test(Math::Sign(xShort1)));
Console::WriteLine(str, S"Int32 ", __box(xInt1), Test(Math::Sign(xInt1)));
Console::WriteLine(str, S"Int64 ", __box(xLong1), Test(Math::Sign(xLong1)));
Console::WriteLine(str, S"Single ", __box(xSingle1), Test(Math::Sign(xSingle1)));
Console::WriteLine(str, S"Double ", __box(xDouble1), Test(Math::Sign(xDouble1)));
Console::WriteLine(str, S"Decimal", __box(xDecimal1), Test(Math::Sign(xDecimal1)));
//
Console::WriteLine(S"{0}The following type is not CLS-compliant.", nl);
Console::WriteLine(str, S"SByte ", __box(xSbyte1), Test(Math::Sign(xSbyte1)));
}
/*
This example produces the following results:
Test the sign of the following types of values:
Byte : 0 is equal to zero.
Int16 : -2 is less than zero.
Int32 : -3 is less than zero.
Int64 : -4 is less than zero.
Single : 0 is equal to zero.
Double : 6 is greater than zero.
Decimal: -7 is less than zero.
The following type is not CLS-compliant.
SByte : -101 is less than zero.
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard