間違ったコンマ区切り記号を使用している場合や、二重値を指定している間に他のエラーがあった可能性もあります。 このような場合は、例外的に安全なDouble.TryParse()メソッドを使用する必要があります。また、指定されたフォーマットプロバイダ、基本的にはカルチャを使用することができます。
public static bool TryParse(
string s,
NumberStyles style,
IFormatProvider provider,
out double result
)
The TryParse method is like the Parse(String, NumberStyles, IFormatProvider) method, except this method does not throw an exception if the conversion fails. If the conversion succeeds, the return value is true and the result parameter is set to the outcome of the conversion. If the conversion fails, the return value is false and the result parameter is set to zero.
EDIT:
if(!double.TryParse(Console.ReadLine(), out unitPrice))
{
// parse error
}else
{
// all is ok, unitPrice contains valid double value
}
をコメントする回答もあなたが試すことができます:
double.TryParse(Console.ReadLine(),
NumberStyle.Float,
CultureInfo.CurrentCulture,
out unitPrice))
出典
2011-09-23 17:38:30
sll
あなたはどのような値を入力していますか? –
4.5〜5.5のような0〜10の値 –