Η ερώτηση είναι ουσιαστικά η ίδια με το "γιατί δεν μου δείχνει ελληνικά" και η απάντηση είναι η ίδια πάντα. Αν το πεδίο είναι αριθμητικό και το χειρίζεσαι ως αριθμό και όχι text, δεν υπάρχει ποτέ πρόβλημα. Άλλο το πως αποθηκεύονται τα δεδομένα και άλλο το πως τα παρουσιάζει η εφαρμογή σου.
Η βάση δεν "αποθηκεύει με κόμμα/τελεία" σε αριθμητικό πεδίο ποτέ. Ανάλογα με τον τύπο, άλλα bytes χρησιμοποιούνται για την αποθήκευση του ακεραίου και άλλα για την αποθήκευση του δεκαδικού τμήματος. Εσύ δεν το βλέπεις ποτέ αυτό. Τα κόμματα και οι τελείες εμφανίζονται όταν μετατρέπεις εσύ το νούμερο σε κείμενο. Όσες πράξεις γίνονται μεταξύ αριθμών δεν επηρεάζονται από αυτή την μετατροπή (προφανώς).
Το πρόβλημα δημιουργείται όταν εισάγεις ένα νούμερο σε μορφή κειμένου, είτε από κάποιο text πεδίο είτε από κάποιο textbox. Προφανώς το κείμενο θα πρέπει να μετατραπεί σε αριθμό, χρησιμοποιώντας τα "σωστά" σύμβολα για υποδιαστολή ή χιλιάδες. Τα σύμβολα που χρησιμοποιούνται είναι αυτά που ορίζονται στα regional settings του CLIENT, όχι του server. Το ASP.NET καταλαβαίνει τις γλώσσες που έχουν ρυθμιστεί στον IE και τα regional settings του client και κάνει τις αντίστοιχες μετατροπές.
Το πρόβλημα προφανώς είναι τί γίνεται όταν ένας χρήστης έχει ελληνικά settings και άλλος αγγλικά. Τα νούμερα θα εμφανίζονται διαφορετικά στον καθένα και ο καθένας θα πρέπει να εισάγει τη σωστή υποδιαστολή. Για να το αντιμετωπίσεις αυτό, θα πρέπει να "καρφώσεις" το Culture της σελίδας σου σε αυτό που θέλεις (ελληνικό ή αγγλικό).
Τα παραπάνω δεν ισχύουν αν μιλάμε για τις αρχαίες ASP σελίδες οι οποίες πάντα δούλευαν με αγγλικά settings.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos