92 messaggi dal 11 aprile 2007
Salve a tutti,vi risulta ci siano dei problemi anche in .net 2.0 per i CompareValidator tra due dati tipo double?
Il problema è verificare che il valore inserito dall'utente nela textbox, ex: 12.50 sia minore del valore 'Decimal' preso da database ad esempio: 15,0000000000
Per convenzione, l'utente puo' inserire solamente il '.' come separatore decimale.
il fatto stà che per il validator, il valore 12.50 non risulta minore di 15,00000000

Grazie a Tutti
Andrea
Se il separatore dei decimali è la virgola, il validator crede che quel numero sia 12500

Ciao
.

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
2.859 messaggi dal 28 gennaio 2003
Io ho lasciato stare le cose così, ossia ho imposto la virgola come separatore decimale.

Ma se volessi il punto farei così:

pagina aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="Inserire un numero inferiore a 15"
            ControlToValidate="TextBox1" Operator="LessThan" Type="Double" ValueToCompare="15.0"></asp:CompareValidator>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>
    </form>
</body>
</html>


codice vb
Option Strict On
Imports l = libreria.ModuloWeb

Partial Class prove_a
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ImpostaCulturaItalianaDecimalePunto()
    End Sub

    '---------------------------------------------------------------------------------
    'imposta la cultura italiana col decimale punto per il Thread corrente
    '---------------------------------------------------------------------------------
    Public Sub ImpostaCulturaItalianaDecimalePunto()
        Dim ci As New CultureInfo("it-IT")
        ci.NumberFormat.NumberDecimalSeparator = "."

        System.Threading.Thread.CurrentThread.CurrentCulture = ci

    End Sub

End Class

Pietro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC