14. november 2007 - 20:53Der er
11 kommentarer og 1 løsning
omregning af string
Hej, Jeg har en dropdown liste med følgende værdier: 1*45 2*45 3*45 ect...
Jeg vil gerne have disse værdier regnet om til en int: int timespan = Convert.ToInt32(this.lessontime.SelectedItem.Text); dette kan dog ikke lade sig gøre da convert funktionen kun godtager héltal. Er der ikke en metode jeg kan benytte til at caste dette uden at jeg skal ind og lave substrings?
int timespan = CInt(this.lessontime.SelectedItem.Text.split("*")(0)) * CInt(this.lessontime.SelectedItem.Text.split("*")(1));
Tror jeg vil virke (er ikke sikker på om CInt-genvejen er tilgængelig i C#). Jeg kender ikke til nogen metode hvor du kan få et matematisk udtryk evalueret fra en streng.
Ellers har du også muligheden for at tilføje et objekt som value til hvert element. Det kunne være en struktur med to int felter..
public string Text { get { return f_Text; } set { f_Text = value; } }
private int f_Length; public int Length { get { return f_Length; } set { f_Length = value; } }
public ClassA(string text, int length) { f_Text = text; f_Length = length; } }
Det samme burde kunne gøre på en DropDownList hvis det er web ... hvilket jeg egentlig tror det er ... nu jeg læser dig spm igen ... men princip 100% det samme.
bizty: Du mener vel en int og en string i hans object ... ellers vil der jo komme til at stå minut tal ... og ikke 2 * 45 .. eller har jeg misforstået hans spm.
Hey buzzzz, godt tænkt (kan sikkert bruges flere steder..) ;) smid et svar arne_v: jeg er bare doven og vil undgå at lave substring og regex men ellers tak..
public class Evaluator { public function Eval(expr : String) : Double { return eval(expr); } }
C:\>type Test.cs using System;
public class Test { public static void Main(string[] args) { Evaluator ev = new Evaluator(); Console.WriteLine(ev.Eval("2*5")); } }
C:\>jsc /t:library Evaluator.js Microsoft (R) JScript Compiler version 8.00.50727 for Microsoft (R) .NET Framework version 2.0.50727 Copyright (C) Microsoft Corporation 1996-2005. All rights reserved.
C:\>csc /r:Evaluator.dll /r:Microsoft.JScript.dll Test.cs Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.42 for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727 Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.