5

我要做的是检查浮点输入是否为数字。我被要求使用 IsNumeric() 方法这样做。问题是我正在使用 MonoDevelop,但我不知道为什么这不起作用。好像我已经添加了我需要的程序集参考。

所以从头开始。我该怎么做呢?我是否必须在 VB 程序集参考中添加一些内容?而且,当我尝试在 VisualStudio 上的学校工作时,这是否仍然有效?

static void getBookInfo(Book book)
{
        Console.Write("Enter Book Title: ");
        book.Title = Console.ReadLine();
        Console.Write("Enter Author's First Name: ");
        book.AuthorFirstName = Console.ReadLine();
        Console.Write("Enter Author's Last Name: ");
        book.AuthorLastName = Console.ReadLine();
        Console.Write("Enter Book Price: $");
        book.Price = float.Parse(Console.ReadLine());
}

VB的参考文件如下所示:

public class VBCodeProvider : CodeDomProvider
{
    // Constructors
    public VBCodeProvider ();
    public VBCodeProvider (IDictionary<string, string> providerOptions);

    // Methods
    public virtual ICodeCompiler CreateCompiler ();
    public virtual ICodeGenerator CreateGenerator ();
    public virtual TypeConverter GetConverter (Type type);
    public virtual void GenerateCodeFromMember (CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options);

    // Properties
    public virtual string FileExtension { get; }
    public virtual LanguageOptions LanguageOptions { get; }
}

问候。并感谢您的帮助。

更多信息。在我的页面顶部,我确实有:

using Microsoft.VisualBasic;

当我尝试键入 IsNumeric() 方法时,它没有列出(通常会列出一些东西)。

另一个编辑。所以我可以这样做(但我确实需要使用 IsNumeric 方法,所以我不会从作业中丢失任何分数):

static void getBookInfo(Book book)
{
    bool isNumeric;
    float number;
    string numberInput;

    Console.Write("Enter Book Title: ");
        book.Title = Console.ReadLine();
        Console.Write("Enter Author's First Name: ");
        book.AuthorFirstName = Console.ReadLine();
        Console.Write("Enter Author's Last Name: ");
        book.AuthorLastName = Console.ReadLine();
        Console.Write("Enter Book Price: $");
        numberInput = Console.ReadLine();

    isNumeric = float.TryParse(numberInput, out number);

    if (isNumeric)
        Console.WriteLine(number.ToString());
    else
        Console.WriteLine("not number");
}
4

2 回答 2

1

它是“Microsoft.VisualBasic.Information”类的静态方法。即使这样,using您也需要以

Information.IsNumeric (someString)

请参阅http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.information.isnumeric.aspx

于 2011-10-04T02:26:45.160 回答
1

如果尝试链接到 Visual Basic 程序集的痛苦太大,您可能会发现 decimal.TryParse() 方法执行适当类似的功能,但几乎没有缺点。

可在http://msdn.microsoft.com/en-us/library/9zbda557.aspx找到其使用示例

于 2012-02-06T03:23:18.813 回答