Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Overload på .ToString m.fl.

Postades av 2005-06-21 16:05:45 - Fredrik Rodin, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 431 personer

Hallå!

Har försökt hitta något sätt att göra en "overload" på .ToString. Jag vill uppnå ett enklare sätt att konvertera värden till olika datatyper utan att hålla på med formateringar.

Små exempel:

Dim x as Decimal = 0.03D

response.write(x.ToMyOwnDecimalFormat())

.ToMyOwnDecimalFormat() skulle t.ex. alltid kunna returnera 4 decimaler med givna separatorer för decimal och tusental. Detta skulle innebära att jag bara behövde ändra på ett ställe (OOP) om jag vill ha t.ex. 5 decimaler.

Jag har idag egna funktioner för detta, men det är så bökigt att wrappa värdet i funktionen varje gång, exempel:

response.write(MyFunction.FormatDecimalValue(x))

Jag skulle då enkelt också kunna vända på ett format:

Dim x As String = "0.01"

response.write(x.ToMyOwnDecimalFormat())

Jag skulle också enkelt kunna imlementera ett "filter" som tar bort oönskade tecken (', --, etc).

Någon som har någon idé om hur man kan göra, eller om det ens går?

Skriver en ASP.NET-applikation i VB.NET.

Tack på förhand,
Fredrik


Svara

Sv: Overload på .ToString m.fl.

Postades av 2005-06-21 16:47:33 - Göran Andersson

För att göra överlagrade metoder så får du göra en struktur eller klass som ärver ifrån datatypen.


Svara

Sv:Overload på .ToString m.fl.

Postades av 2005-06-21 17:45:05 - Fredrik Rodin

Förstår inte riktigt hur det skulle gå till...

Hur kan jag deklarera min klass så att jag själv kan skapa egna funktioner?

Jag har försökt lite men kommer ingen vart. Någon som har några enkla introsteg till mig så jagkan komma igång???

Tack på förhand,
Fredrik


Svara

Sv: Overload på .ToString m.fl.

Postades av 2005-06-22 07:38:53 - Magnus Gladh

".ToMyOwnDecimalFormat() skulle t.ex. alltid kunna returnera 4 decimaler med givna separatorer för decimal och tusental. Detta skulle innebära att jag bara behövde ändra på ett ställe (OOP) om jag vill ha t.ex. 5 decimaler. "

I ToString() methoden så finns det ju möjlighet att skicka med en IFormatProvider som gör just detta till dig.


På de andra frågorn så är min åsikt samma som Anders gör en statiska metoder i en Utilityklass som tar emot dina värden gör vad du vill med dem och sedan returnerar tillbaka det du vill. Finns nog inget annat sätt som är lika enkelt/effektift.

- M


Svara

Sv:Overload på .ToString m.fl.

Postades av 2005-06-22 10:15:58 - Patrik Löwendahl

Jag har skrivit ett blogginlägg om precis det :

http://www.lowendahl.net/showShout.aspx?id=4


Svara

Sv: Overload på .ToString m.fl.

Postades av 2005-06-22 16:02:04 - Fredrik Rodin

Tack för alla tips!

Jag har mixtrat lite med IFormatProvider och olika options till .ToString.

Jag har testat med att göra en class som ligger i min basklass och där kan jag komma åt olika properties som representerar en IFormatProvider.

Typ...

Dim dValue As Decimal = 13.71D

dValue.ToString(MinFormatklass.Currency, MinFormatklass.FormatTo("SEK"))

Jag uppnår delar av vad jag vill, men ändå inte riktigt. Jag kan göra overload på ToString i min basklass också, men tricket är att jag vill lägga till egna funktioner till de primitiva typerna.

Enligt Hesselbom så går det via aggregation vilket jag aldrig jobbat med. Om det kostar mer minne är inte så farligt och det tål att testas.

Någon här som har bra tips på länkar till sidor där jag kan läsa mer om det, eller om någon har exempelkod?


Till Löwendahl:
Jag fick uppfattningen att ditt bloginlägg mer riktade in sig på att skapa egna datatyper, stämmer det, eller missade jag något i ditt bloginlägg?

Tack på förhand,
Fredrik


Svara

Sv:Overload på .ToString m.fl.

Postades av 2005-06-22 17:18:37 - Patrik Löwendahl

Tja det är väl klart att det blir en egen datatyp :) Du skapar ju en struct, alla structer och klasser blir egna datatyper :P

Men vad det handlar om egentligen är att gå runt begräsningen som gör att du inte kan ärva från de datatyperna. Du jobbar med inkapsling av din logik och behöver inte flertalet externa funktioner och klasser för att hantera din formatering.

Första gången jag skrev en sådan där så berodde det just på speciella krav vid formattering i en toString, precis som exemplet visar.



Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 603
27 953
271 705
6 052
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies