2017-02-06 1 views
-4

Ich habe eine String-Variable, die Werte wie $ 100 oder $ 123 haben kann. Ich muss prüfen, ob die Saite ein "-" drin hat. Wenn es '-' hat, muss ich ($ 123) zurückgeben, sonst gib einfach $ 100 zurück. Ich weiß, dass wir die Funktion string.contains verwenden können, um zu sehen, ob '-' in der Zeichenfolge existiert, aber nicht sicher, wie '-' daraus entfernt wird. Ich habe versucht, unter, aber es funktioniert nichtString enthält Funktion in C#

public string convertNegativeAmountt(string n_amt) 
{ 
    if(n_amt.contains(-) 
    return "("+n_amt +")"; 
    else 
    return n_amt; 
} 
+2

Dieser Code kompiliert nicht ... schreiben Sie bitte Code kompilieren .. Und es ist, wenn der Kompilierungsfehler, mit dem Sie Probleme haben, dann sagen Sie, was es ist (und was Sie versucht haben, um es zu lösen) –

+0

versuchen n_amt.Remove (n_amt.IndexOf ('-')); –

Antwort

0

Sie IndexOf verwenden könnten, wenn sein immer und dies würde der - Charakter arbeitet unter der Annahme, immer als das letzte Zeichen erwartet wird.

public string convertNegativeAmountt(string n_amt) 
{ 
    if (n_amt.IndexOf("-") > 0) 
     return "(" + n_amt.Substring(0, n_amt.Length-1) + ")"; 
    else 
     return n_amt; 
} 
+0

Nein das Zeichen '-' ist immer am Ende wie '$ 123-' – trx

+0

@trx - aktualisierte Antwort – Igor

0

Nehmen Sie einfach den Teil vom Anfang der Zeichenfolge an den ‚-‘

return "(" + n_amt.Substring(0, n_amt.LastIndexOf('-')) + ")"; 
1
public string convertNegativeAmountt(string n_amt) 
{ 
    if (n_amt.Contains("-")) 
    return "(" + n_amt.Replace("-", "") + ")"; 
    else 
     return n_amt;**strong text** 
} 
+0

Sie vermissen eine Klammer ... Und die volle stop sollte ein Komma sein, und 'Contains' Methode nimmt keine Operatoren. –

+0

Sloppy von mir ... Entschuldigung. – Theo