Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ερώτηση Function για ποσά (Τελία ή κόμμα;)

Îåêßíçóå áðü ôï ìÝëïò VbNetDummy. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 22-01-2014, 16:24. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-01-2014, 12:00 74914

    Ερώτηση Function για ποσά (Τελία ή κόμμα;)

    Καλημέρα σε όλους,

    Είχα φτιάξει μια εφαρμογή στο παρελθόν σε vb6 η οποία διάβαζε ένα γραμμογραφημένο text και καταχωρούσε  τις τιμές του σε μια βάση. Το πρόβλημα που είχα ήταν όταν διάβαζε ποσά. Κάποιοι καταχωρούσαν τα ποσά τους με κομμα για τα δεκαδικά ψηφία και κάποιοι με τελία . Οταν έβαζες τη τιμή σε μια μεταβλητη π.χ. Double πότε την έπαιρνε σωστά και πότε ότι ναναι!!! Εφτιαξα τοτε μια function η οποία διάβαζε τα settings σου και τη τιμή σαν text, καταλάβαινε τι έχεις χρησιμοποιήσει, το μετέτρεπε σε αυτό που θέλουν οι ρυθμίσεις σου και τέλος το καταχωρούσε στη μεταβλητή (double) ώστε να περαστεί σωστά στη βάση. 

    Η ερώτηση μου είναι η εξής. Υπάρχει κάποιο έτοιμο function στη .ΝΕΤ να μου κάνει τη δουλίτσα ή να προσαρμόσω αυτό που είχα φτιάξει και να τελειώνει η υπόθεση; 

  •  22-01-2014, 16:24 74915 σε απάντηση της 74914

    Απ: Ερώτηση Function για ποσά (Τελία ή κόμμα;)

    Εξαρτάται τί εννοείς "διάβαζε τα settings σου". H οποιαδήποτε .Parse() μέθοδος στο .NET χρησιμοποιεί το CurrentCulture του Thread που την καλεί, το οποίο διαβάζει τις ρυθμίσεις από τα Regional Settings του χρήστη. Αυτό όμως δεν θα σε γλυτώσει αν κάποιος βάλει στο αρχείο "." ενώ εσύ περιμένεις το αντίστροφο. Ακόμα και στην VB6 όμως κάποιοι τρόποι λαμβάνανε υπόψη το locale και κάποιοι όχι.

    Αν θέλεις να μην λάβεις υπόψη τα regional settings μπορείς να περάσεις στις Parse() ή ToString() το InvariantCulture, το οποίο ορίζει πάντα ως υποδιαστολή το ".".  Αυτό πρέπει να το έχεις υπόψη καθώς όλα τα web services, REST APIs κλπ θεωρούν ότι το "." είναι η υποδιαστολή.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems