数値の指定したスタイルでの文字列形式を、それと等価な倍精度浮動小数点数に変換します。
Overloads Public Shared Function Parse( _
ByVal s As String, _ ByVal style As NumberStyles _) As Double
[C#]
public static double Parse(strings,NumberStylesstyle);
[C++]
public: static double Parse(String* s,NumberStylesstyle);
[JScript]
public static function Parse(
s : String,style : NumberStyles) : double;
パラメータ
- s
変換する数値を格納する文字列。 - style
s の許容形式を示す、1 つ以上の NumberStyles 定数の組み合わせ。
戻り値
s で指定した数値または記号に等しい倍精度浮動小数点数。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | s が null 参照 (Visual Basic では Nothing) です。 |
FormatException | s が、有効な書式の数値ではありません。 |
OverflowException | s が MinValue 未満の数値か、 MaxValue より大きい数値を表しています。 |
解説
s パラメータには、 PositiveInfinitySymbol 、 NegativeInfinitySymbol 、 NaNSymbol 、または次の書式の文字列を格納できます。
[ws][sign]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]
省略可能な項目は、角かっこ ([および]) で囲まれています。"digits" という語を含む項目は、0 から 9 までの一連の数字から構成されます。
- ws
一連の空白文字。 - sign
負の記号または正の記号。 - integral-digits
数値の整数部分を指定する一連の数字。一連の整数の桁は、区切り記号によって区切られる場合があります。たとえば、カルチャによっては、桁区切り文字としてコンマ (,) が使用されます。小数の桁が存在する場合は、整数の桁はなくてもかまいません。 - '.'
カルチャに固有の小数点記号。 - fractional-digits
数値の小数部分を指定する一連の数字。 - 'e'
指数表記を示す大文字または小文字の 'e'。 - exponential-digits
指数部を指定する一連の数字。
s の例には、"100"、"-123,456,789"、"123.45e+6"、"+500"、"5e2"、"3.1416"、"600."、"-.123"、"-Infinity" などがあります。
Parse のこのバージョンでは、指定した NumberStyles と、現在のスレッドに関連付けられているカルチャに固有の NumberFormatInfo データを使用します。
数値書式の詳細については、「 書式設定の概要 」のトピックを参照してください。
使用例
Parse を使用して、パラメータとして String と IFormatProvider を受け取る方法については、次のコード例を参照してください。
Public Class Temperature
' Parses the temperature from a string in form
' [ws][sign]digits['F|'C][ws]
Public Shared Function Parse(ByVal s As String, ByVal provider As IFormatProvider) As Temperature
Dim temp As New Temperature()
If s.TrimEnd(Nothing).EndsWith("'F") Then
temp.Value = Double.Parse(s.Remove(s.LastIndexOf("'"c), 2), provider)
Else
If s.TrimEnd(Nothing).EndsWith("'C") Then
temp.Celsius = Double.Parse(s.Remove(s.LastIndexOf("'"c), 2), provider)
Else
temp.Value = Double.Parse(s, provider)
End If
End If
Return temp
End Function 'Parse
' The value holder
Protected m_value As Double
Public Property Value() As Double
Get
Return m_value
End Get
Set(ByVal Value As Double)
m_value = Value
End Set
End Property
Public Property Celsius() As Double
Get
Return (m_value - 32) / 1.8
End Get
Set(ByVal Value As Double)
m_value = Value * 1.8 + 32
End Set
End Property
End Class
[C#]
public class Temperature {
/// <summary>
/// Parses the temperature from a string in form
/// [ws][sign]digits['F|'C][ws]
/// </summary>
public static Temperature Parse(string s, IFormatProvider provider) {
Temperature temp = new Temperature();
if( s.TrimEnd(null).EndsWith("'F") ) {
temp.Value = Double.Parse( s.Remove(s.LastIndexOf('\''), 2), provider);
}
else if( s.TrimEnd(null).EndsWith("'C") ) {
temp.Celsius = Double.Parse( s.Remove(s.LastIndexOf('\''), 2), provider);
}
else {
temp.Value = Double.Parse(s, provider);
}
return temp;
}
// The value holder
protected double m_value;
public double Value {
get {
return m_value;
}
set {
m_value = value;
}
}
public double Celsius {
get {
return (m_value-32.0)/1.8;
}
set {
m_value = 1.8*value+32.0;
}
}
}
[C++]
public __gc class Temperature {
/// <summary>
/// Parses the temperature from a string in form
/// [ws][sign]digits['F|'C][ws]
/// </summary>
public:
static Temperature* Parse(String* s, IFormatProvider* provider) {
Temperature* temp = new Temperature();
if( s->TrimEnd(0)->EndsWith(S"'F") ) {
temp->Value = Double::Parse( s->Remove(s->LastIndexOf('\''), 2), provider);
}
else if( s->TrimEnd(0)->EndsWith(S"'C") ) {
temp->Celsius = Double::Parse( s->Remove(s->LastIndexOf('\''), 2), provider);
}
else {
temp->Value = Double::Parse(s, provider);
}
return temp;
}
// The value holder
protected:
double m_value;
public:
__property double get_Value() {
return m_value;
}
__property void set_Value( double value ) {
m_value = value;
}
__property double get_Celsius() {
return (m_value-32.0)/1.8;
}
__property void set_Celsius( double value ) {
m_value = 1.8*value+32.0;
}
};
[JScript]
public class Temperature {
/// <summary>
/// Parses the temperature from a string in form
/// [ws][sign]digits['F|'C][ws]
/// </summary>
public static function Parse(s : String, styles : NumberStyles, provider : IFormatProvider) : Temperature{
var temp : Temperature = new Temperature();
if( s.TrimEnd(null).EndsWith("'F") ) {
temp.Value = Double.Parse( s.Remove(s.LastIndexOf('\''), 2), styles, provider);
}
else if( s.TrimEnd(null).EndsWith("'C") ) {
temp.Celsius = Double.Parse( s.Remove(s.LastIndexOf('\''), 2), styles, provider);
}
else {
temp.Value = Double.Parse(s, styles, provider);
}
return temp;
}
// The value holder
protected var m_value : double;
public function get Value() : double{
return m_value;
}
public function set Value(value : double) {
m_value = value;
}
public function get Celsius() : double {
return (m_value-32.0)/1.8;
}
public function set Celsius(value : double) {
m_value = 1.8*value+32.0;
}
}
必要条件
プラットフォーム: 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
参照
Double 構造体 | Double メンバ | System 名前空間 | Double.Parse オーバーロードの一覧 | 書式設定の概要 | ToString