Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 97
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Erweiterung für Stringumwandlungen


Autor: Günther Foidl
Sprache: C#
Bewertung:
8.56 (2 votes)
Anzahl der Aufrufe: 7655
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Erweiterungsmethode ermöglicht die einfache Umwandlung eines Strings in Integer, Double und DateTime.

Aus den umzuwandelnden Strings werden die numerischen Anteile verwendet (siehe Beispiel, gilt nicht für DateTime).

Bei der Umwandlung eines Strings zu Double kann das Komma (,) oder der Punkt (.) als Dezimaltrennzeichen verwendet werden.

Beispiel:

string s1 = "abc1234def";
int? i1 = s1.Str2Int();

string s2 = "abc123,456def";
string s3 = "abc123.456def";
double? d2 = s2.Str2Double();
double? d3 = s3.Str2Double();

string s4 = "28.11.2008 15:07";
DateTime? dt4 = s4.Str2Date();


Abgelegt unter: String, Erweiterung, Umwandlung, String zu Zahl, Zahl.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.Text.RegularExpressions;

namespace gfoidl.Tools
{
	public static class StringExtensions
	{
		// Für bessere Leistung werden die Regex hier erstellt:
		private static readonly Regex _regexInt = new Regex(@"\d+");
		private static readonly Regex _regexDouble = new Regex(
					@"\d+(" +
					System.Globalization.NumberFormatInfo
					.CurrentInfo.NumberDecimalSeparator +
					@")?(\d+)*");
		//---------------------------------------------------------------------
		/// <summary>
		/// Konvertiert eine Zeichenfolge in eine Ganzzahl
		/// </summary>
		/// <param name="s">
		/// Zu konvertierender String (zB "123456" oder "text123456BlaBlaBla")
		/// </param>
		/// <returns>
		/// Ganzahlrepräsentation der Zeichenfolge
		/// </returns>
		/// <remarks>
		/// Zum Finden der Zahl im Text werden reguläre Ausdrücke verwendet
		/// </remarks>
		public static int? Str2Int(this string s)
		{
			if (string.IsNullOrEmpty(s))
				return null;
			else
			{
				int i;
				if (int.TryParse(_regexInt.Match(s).Value, out i))
					return i;
				else
					return null;
			}
		}
		//---------------------------------------------------------------------
		/// <summary>
		/// Konvertiert eine Zeichenfolge in eine Dezimalzahl unabhängig
		/// vom Dezimaltrennzeichen
		/// </summary>
		/// <param name="s">
		/// Zu konvertierender String (zB "123.456" oder "123,456")
		/// </param>
		/// <returns>
		/// Dezimalrepräsentation der Zeichenfolge
		/// </returns>
		public static double? Str2Double(this string s)
		{
			if (string.IsNullOrEmpty(s))
				return null;
			else
			{
				double d;
				string tmp = s.Replace(
					".",
					System.Globalization.NumberFormatInfo
					.CurrentInfo.NumberDecimalSeparator);
				tmp = _regexDouble.Match(tmp).Value;

				if (double.TryParse(tmp, out d))
					return d;
				else
					return null;
			}
		}
		//---------------------------------------------------------------------
		public static DateTime? Str2Date(this string s)
		{
			if (string.IsNullOrEmpty(s))
				return null;
			else
			{
				DateTime d;
				if (DateTime.TryParse(s, out d))
					return d;
				else
					return null;
			}
		}
	}
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] Hexcode eines Strings ausgeben
[VB.NET] Größe eines Strings berechnen
[C#] String bei bestimmten Zeichen splitten
[C#] Encode To ASCII - Buchstaben in Ascii-Werte umwandeln
[C#] Gibt den MD5 Hash eines Stings als String zurück.
[C#] String in Byte Array und zurück wandeln
[VB.NET] Den SHA1 Hash eines Strings ermitteln
[VB.NET] Den MD5 Hash eines Strings ermitteln
[C#] Wandelt ein Bytearray in einen Binärstring
[VB.NET] Text auf Bild zeichnen
[C#] String auf Emailadresse prüfen
[C#] SHA-1 Hash eines Strings erzeugen
[VB.NET] Strings schnell zählen
[VB.NET] Pfad kürzen
[VB.NET] Einfache Ähnlichkeitssuche (SQL)
[C#] Pfad kürzen
[C#] IsPositiveInteger as Extension Method
[C#] Datum und Zeit als String
[C#] String spiegeln
[VB.NET] String spiegeln
[C#] Image in string wandeln und zurück
[C#] Strings komprimieren und dekomprimieren
[C#] CamelCase in Title Case konvertieren
[C#] Text zentriert in die Konsole schreiben
[VB.NET] Strings komprimieren und dekomprimieren
[C#] Fuzzy Suche
[VB.NET] Rows eines DataGridView in ein String-Array konvertieren
[C#] kontrolliert ob String eine gültige GUID ist
[C#] HTML aus einem String entfernen
[C#] byte-String in byte wandeln
[C#] Formelevaluierung aus RPN Form
[C#] Erzeugen eines zufälligen Strings
[C#] mehrfach vorkommende Worte entfernen
[C#] Determines whether the specified input is numeric
[C#] Prozentual Textvergleichen
[C#] doppelte Leerzeichen aus einem String entfernen
[C#] Zählt wie oft ein String in einem String vorkommt.
[C#] String kürzen ohne ein Wort abzuschneiden
[C#] String auf erlaubte Zeichen prüfen
[C#] Austauch von kritischen Zeichen in einem String...
[VB.NET] String in Byte Array und zurück wandeln
[C#] Gross- Kleinbuchstaben in String schnell zählen
[VB.NET] Listen, Arrays, Strings konvertieren
[C#] CRC32-Hash eines Strings
[VB.NET] CRC32-Hash eines Strings
[C#] Größe eines Strings berechnen
[VB.NET] String Splitten
[C#] Capitalize the first letter of every word
[VB.NET] Textdatei lesen und schreiben (String, StringArray, etc...)
[C#] Text2Bitmap (String in Bild umwandeln)
[C#] Double in String umwandeln (mit InvariantCulture)
[C#] String in Double umwandeln (mit InvariantCulture)
[C#] Convert MAC string to byte array
[C#] Reverse String
[C#] Stellt fest ob ein String ein Palindrom ist
[VB.NET] String umkehren
[C#] Letztes Wort aus einem String ermitteln
[C#] Erstes Wort aus einem String ermitteln
[VB.NET] List all controls by using the name of the controls
[C#] Alle E-Mail Adressen aus einem String bzw. Text filtern
[C#] StringSplitter
[C#] Fundstelle eines Suchbegriffs markieren
[C#] Initialisiert alle String-Properties
[C#] MD5 Verschlüsselung
[C#] HTML Tags aus String entfernen
[C#] Geschachtelte Methode zur String-Bearbeitung
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[VB.NET] Permutation nachweisen
[C#] Implode und Trim für String-Enumerationen (Extension Method)
[C#] String zu MD5
[C#] Tabulatorzeichen durch Leerzeichen ersetzen
[C#] String in einzelne Wörter aufteilen und Wörter zählen
[VB.NET] Passwortgenerator
[C#] Render MVC Action as string
[C#] Namen von Klassenmember als String ermitteln
[C#] IncreaseString
[VB.NET] String uebers Netzwerk oder Internet and einen PC senden
[C#] String to char Tarnung
[C#] C# XOR Crypt
[C#] String-Formatierung für Faule: Erweiterungsmethode
[C#] Darstellung eines ASP.NET Steuerelementes als HTML-String
[C#] Programmpfad mittels Erweiterung ermitteln
[C#] LINQ-Erweiterung für eindeutige Liste
[C#] Kleine Array-Erweiterung
[VB.NET] Umwandlung System.Drawing.Icon nach IPictureDisp u.a für VB6
[C#] Konventiert eine IP-Adresse zu Long / Long zu IP-Adresse
[C#] prüfen ob eine Zahl gerade ist
[C#] Prüfen ob ein Text eine Zahl ist
[C#] Integers
[C#] Beliebiges Zahlensystem in Dezimal umrechnen
[C#] Dezimalzahl in beliebiges Zahlensystem umrechnen
[VB.NET] Zahl mit Dezimalzahlstellen formatieren
[C#] Prüfung auf narzisstische Zahlen
[C#] Herausfinden, ob ein Character eine Zahl ist.
[VB.NET] Das Sieb des Eratosthenes
[VB.NET] Fibonacci-Folge iterativ erzeugen
[VB.NET] Effizientere Primzahlprüfung großer Zahlen
[VB.NET] Das Sieb von Atkin
[VB.NET] Das Sieb von Atkin (2)
[VB.NET] Pandigitale Zahlen
[VB.NET] Das Sieb von Atkin (2) - aktuell

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.